打印

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

[复制链接]
3001|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taihezhibanh|  楼主 | 2013-7-24 23:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define IE2_                (0x0001u)  /* Interrupt Enable 2 */
DEFC(   IE2               , IE2_)
#define U1IE                IE2       /* UART1 Interrupt Enable Register */
#define URXIE1              (0x10)
#define UTXIE1              (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?

相关帖子

沙发
taihezhibanh|  楼主 | 2013-7-24 23:31 | 只看该作者
难道表示无符号数?

使用特权

评论回复
板凳
soso| | 2013-7-24 23:32 | 只看该作者
你好,很高兴为你答疑。
u就是unsigned,表示是无符号,也就是表示无符号的16进制数。
望了解。

使用特权

评论回复
地板
heibaiyinjiag| | 2013-7-25 00:19 | 只看该作者
应该是表示无符号数。

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

类似的用法;

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 */

使用特权

评论回复
5
meishizhaoshi| | 2013-7-27 23:19 | 只看该作者
是这样的

使用特权

评论回复
6
pmp| | 2013-7-29 23:51 | 只看该作者
表示整型的。

使用特权

评论回复
7
pmp| | 2013-7-29 23:51 | 只看该作者
很多后面+f 表示浮点型的。

使用特权

评论回复
8
pmp| | 2013-7-29 23:52 | 只看该作者
现在的keil不加转换不加上f 可能给警告的。

使用特权

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

本版积分规则

40

主题

955

帖子

1

粉丝