发新帖我要提问
12
返回列表
打印

一直不是很明白什么情况下要加ul?

[复制链接]
楼主: llia
手机看帖
扫描二维码
随时随地手机跟帖
21
jiajs| | 2021-3-4 12:37 | 只看该作者 回帖奖励 |倒序浏览
是代码的问题吗?   

使用特权

评论回复
22
zhenykun| | 2021-3-4 12:41 | 只看该作者
不指定数据类型,MCU将会按照默认字节存储的。

使用特权

评论回复
23
chuxh| | 2021-3-4 12:50 | 只看该作者
在对应的带符号整型前面加上unsigned,也就是unsigned int、unsigned short、unsigned long、unsigned long long。

使用特权

评论回复
24
stly| | 2021-3-4 12:54 | 只看该作者
其实没啥影响的。  

使用特权

评论回复
25
dingy| | 2021-3-4 12:57 | 只看该作者
默认为有符号INT型,加了u就是无符号的,加了l就是long型。

使用特权

评论回复
26
renyaq| | 2021-3-4 13:01 | 只看该作者
对类型的选择需要注意。  

使用特权

评论回复
27
houcs| | 2021-3-4 13:05 | 只看该作者
加ul才会从int型长度扩展成long型长度

使用特权

评论回复
28
yinxiangh| | 2021-3-4 13:08 | 只看该作者
加u尾缀并不会扩展常数占用的字节数

使用特权

评论回复
29
chenjunt| | 2021-3-4 13:11 | 只看该作者
加u表示unsigned int  

使用特权

评论回复
30
zyf部长| | 2021-3-4 13:15 | 只看该作者
可能要扩展字符了吧   

使用特权

评论回复
31
yufe| | 2021-3-4 13:18 | 只看该作者
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
32
wangpe| | 2021-3-4 13:25 | 只看该作者

在8位单片机上,int有可能只有16位,
如果有大于32768的数,就会溢出,
这时就要加ul,使类型变为unsigned long,一般有32位的。

使用特权

评论回复
33
langgq| | 2021-3-4 13:28 | 只看该作者
UL可以引入一个32位的变量?

使用特权

评论回复
34
wangzsa| | 2021-3-4 13:31 | 只看该作者
如果是变量就不需要加了, 一般都是常量加UL

使用特权

评论回复
35
yufe| | 2021-3-4 13:33 | 只看该作者
ul = unisgned long

使用特权

评论回复
36
llia|  楼主 | 2021-3-4 13:36 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
37
ayb_ice| | 2021-3-4 13:48 | 只看该作者
防止数据溢出

使用特权

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

本版积分规则