[应用相关]

有些宏定义里十六进制数没有u,而有些16位的就有

[复制链接]
1457|15
手机看帖
扫描二维码
随时随地手机跟帖
wanglaojii|  楼主 | 2018-6-24 22:38 | 显示全部楼层 |阅读模式
#define IE2_                (0x0001u)  /* Interrupt Enable 2 */
DEFC(   IE2               , IE2_)
#define U1IE                IE2       /* UART1 Interrupt Enable Register */
#define URXIE1              (0x10)
#define UTXIE1              (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?
feiqi1| | 2018-6-24 22:41 | 显示全部楼层
u就是unsigned,表示是无符号.

使用特权

评论回复
androidbus| | 2018-6-24 22:43 | 显示全部楼层
对,也就是表示无符号的16进制数。

使用特权

评论回复
litengg| | 2018-6-24 22:45 | 显示全部楼层
应该是表示无符号数。
为了告知编译器,以避免编译器弄错。

使用特权

评论回复
qiangweii| | 2018-6-24 22:46 | 显示全部楼层
类似的用法:::
float        RadStep = 0.1963495408494f;
long double a = 12.34L; /* correctly initializes to double precision */
long double b = 56.78; /* converts single precision value to double precision */

使用特权

评论回复
shashaa| | 2018-6-24 22:48 | 显示全部楼层

很多后面+f 表示浮点型的。

使用特权

评论回复
xia00| | 2018-6-24 22:50 | 显示全部楼层
现在的keil不加转换不加上f 可能给警告的。

使用特权

评论回复
sourceInsight| | 2018-6-24 22:52 | 显示全部楼层
是的 u就是unsigned,表示是无符号。

使用特权

评论回复
boy1990| | 2018-6-24 22:53 | 显示全部楼层
无符号常量,可以在常量后边加上字母U。。。

使用特权

评论回复
CallReceiver| | 2018-6-24 22:55 | 显示全部楼层
u是unsigned的意思,表示无符号数。。

使用特权

评论回复
zhouhuanの| | 2018-6-24 22:56 | 显示全部楼层
数字后面带个U是表示无符号类型的数据。

使用特权

评论回复
hfdy01| | 2018-6-24 22:57 | 显示全部楼层
C语言中整形常量默认为有符号int。。

使用特权

评论回复
handleMessage| | 2018-6-24 22:59 | 显示全部楼层
U表示该常数用无符号整型方式存储,相当于unsigned int

使用特权

评论回复
bbapple| | 2018-6-24 22:59 | 显示全部楼层
这里表示无符号的16进制数。

使用特权

评论回复
CCompton| | 2018-6-25 20:36 | 显示全部楼层
试试在常量后边加上字母U

使用特权

评论回复
Erichk| | 2018-6-25 22:25 | 显示全部楼层
+f 表示浮点型

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

220

主题

1411

帖子

1

粉丝