打印
[应用相关]

宏定义没有u

[复制链接]
407|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
houcs|  楼主 | 2020-1-12 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#define IE2_                (0x0001u)  /* Interrupt Enable 2 */
DEFC(   IE2               , IE2_)
#define U1IE                IE2       /* UART1 Interrupt Enable Register */
#define URXIE1              (0x10)
#define UTXIE1              (0x20)
如上 有些宏定义里十六进制数没有u,而有些16位的就有?这是什么意思?

使用特权

评论回复
沙发
huangchui| | 2020-1-12 11:10 | 只看该作者
u就是unsigned,表示是无符号.

使用特权

评论回复
板凳
dengdc| | 2020-1-12 11:15 | 只看该作者
对,也就是表示无符号的16进制数。

使用特权

评论回复
地板
liliang9554| | 2020-1-12 11:18 | 只看该作者

应该是表示无符号数。
为了告知编译器,以避免编译器弄错。

使用特权

评论回复
5
zhaoxqi| | 2020-1-12 11:21 | 只看该作者
类似的用法:::
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 */

使用特权

评论回复
6
kangzj| | 2020-1-12 11:25 | 只看该作者
很多后面+f 表示浮点型的。

使用特权

评论回复
7
zwll| | 2020-1-12 14:12 | 只看该作者
现在的keil不加转换不加上f 可能给警告的。

使用特权

评论回复
8
jiaxw| | 2020-1-12 14:19 | 只看该作者
是的 u就是unsigned,表示是无符号。

使用特权

评论回复
9
zhaoxqi| | 2020-1-12 14:23 | 只看该作者
无符号常量,可以在常量后边加上字母U。。。

使用特权

评论回复
10
llljh| | 2020-1-12 14:25 | 只看该作者
u是unsigned的意思,表示无符号数。。

使用特权

评论回复
11
jlyuan| | 2020-1-12 14:28 | 只看该作者
数字后面带个U是表示无符号类型的数据。

使用特权

评论回复
12
renyaq| | 2020-1-12 14:31 | 只看该作者

C语言中整形常量默认为有符号int。。

使用特权

评论回复
13
wyjie| | 2020-1-12 14:36 | 只看该作者
U表示该常数用无符号整型方式存储,相当于unsigned int

使用特权

评论回复
14
yszong| | 2020-1-12 14:40 | 只看该作者
这里表示无符号的16进制数。

使用特权

评论回复
15
dengdc| | 2020-1-12 14:43 | 只看该作者
试试在常量后边加上字母U

使用特权

评论回复
16
yinxiangh| | 2020-1-12 14:48 | 只看该作者
+f 表示浮点型

使用特权

评论回复
17
houcs|  楼主 | 2020-1-12 14:56 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
18
wakayi| | 2020-2-4 13:01 | 只看该作者
也可以自己定义啊

使用特权

评论回复
19
wowu| | 2020-2-4 13:03 | 只看该作者
不用定义 就是多打俩字母呗

使用特权

评论回复
20
xiaoqizi| | 2020-2-4 13:05 | 只看该作者
没有什么意思

使用特权

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

本版积分规则

743

主题

8382

帖子

5

粉丝