0x0001u 十六进制数后加u是什么意思?

[复制链接]
3685|7
 楼主| u880 发表于 2013-12-15 22:25 | 显示全部楼层 |阅读模式
#define IE2_                (0x0001u)  /* Interrupt Enable 2 */
DEFC(   IE2               , IE2_)
#define U1IE                IE2       /* UART1 Interrupt Enable Register */
#define URXIE1              (0x10)
#define UTXIE1              (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?
 楼主| u880 发表于 2013-12-15 22:26 | 显示全部楼层
难道表示无符号数?
huigoushang 发表于 2013-12-15 22:42 | 显示全部楼层
unsigned
G21372 发表于 2013-12-15 22:49 | 显示全部楼层
应该是表示无符号数。

为了告知编译器,以避免编译器弄错。

类似的用法;

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 */
yangguangaisha 发表于 2013-12-15 22:54 | 显示全部楼层
竟然还有这用法
i1mcu 发表于 2013-12-15 23:49 | 显示全部楼层
代表整形的。
i1mcu 发表于 2013-12-15 23:49 | 显示全部楼层
现在很多处理器如果你不声明f 或者u还会报警告的。
i1mcu 发表于 2013-12-15 23:50 | 显示全部楼层
C#编程就是这样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

252

主题

1795

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部