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

[复制链接]
1112|30
 楼主| huangchui 发表于 2020-7-25 23:36 | 显示全部楼层 |阅读模式

#define IE2_                (0x0001u)  /* Interrupt Enable 2 */
DEFC(   IE2               , IE2_)
#define U1IE                IE2       /* UART1 Interrupt Enable Register */
#define URXIE1              (0x10)
#define UTXIE1              (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?
jiajs 发表于 2020-7-25 23:40 | 显示全部楼层
难道表示无符号数?
jlyuan 发表于 2020-7-25 23:42 | 显示全部楼层
u就是unsigned,表示是无符号
yszong 发表于 2020-7-25 23:45 | 显示全部楼层
对,也就是表示无符号的16进制数。
dengdc 发表于 2020-7-25 23:48 | 显示全部楼层

应该是表示无符号数。

为了告知编译器,以避免编译器弄错。
heweibig 发表于 2020-7-25 23:53 | 显示全部楼层

类似的用法;

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 */
wuhany 发表于 2020-7-25 23:56 | 显示全部楼层
表示整型的。
jiahy 发表于 2020-7-26 11:31 | 显示全部楼层
很多后面+f 表示浮点型的。
lizye 发表于 2020-7-26 11:37 | 显示全部楼层
现在的keil不加转换不加上f 可能给警告的。
 楼主| huangchui 发表于 2020-7-26 11:40 | 显示全部楼层
嗯,我知道了,多谢啊
yszong 发表于 2020-7-26 11:44 | 显示全部楼层
u就是unsigned,表示是无符号
chenjunt 发表于 2020-7-26 11:47 | 显示全部楼层
无符号常量,可以在常量后边加上字母U
xxmmi 发表于 2020-7-26 11:51 | 显示全部楼层
u是unsigned的意思,表示无符号数
yufe 发表于 2020-7-26 11:54 | 显示全部楼层
后缀表示unsigned
langgq 发表于 2020-7-26 11:56 | 显示全部楼层
数字后面带个U是表示无符号类型的数据。
zhanglli 发表于 2020-7-26 11:59 | 显示全部楼层
示这是一个无符号数,即unsigned类型的数。
bqyj 发表于 2020-7-26 12:03 | 显示全部楼层
C语言中整形常量默认为有符号int
chuxh 发表于 2020-7-26 12:08 | 显示全部楼层
这个数字是无符号型的
renyaq 发表于 2020-7-26 12:11 | 显示全部楼层
U表示该常数用无符号整型方式存储,相当于unsigned int
yinxiangh 发表于 2020-7-26 12:14 | 显示全部楼层
U表示该常数用无符号整型方式存储
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

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