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

[复制链接]
1091|15
手机看帖
扫描二维码
随时随地手机跟帖
llia|  楼主 | 2018-9-6 20:10 | 显示全部楼层 |阅读模式
一直不是很明白什么情况下要加ul?
wangpe| | 2018-9-6 20:13 | 显示全部楼层
整常数缺省类型应该是integer。

使用特权

评论回复
wangzsa| | 2018-9-6 20:15 | 显示全部楼层
缺省是unsigned int,C语言在运行过程中会隐式的类型转换,有时会使程序出现异响不到的结果。

使用特权

评论回复
wangpe| | 2018-9-6 20:21 | 显示全部楼层
可以试试 if(-1<ZERO){...}看看结果。

使用特权

评论回复
langgq| | 2018-9-6 20:24 | 显示全部楼层
嗯,如果本意就是integer类型的话,自然不用加ul。

使用特权

评论回复
wangzsa| | 2018-9-7 12:21 | 显示全部楼层
整常数类型应该是integer,其可正负。

使用特权

评论回复
llia|  楼主 | 2018-9-7 12:24 | 显示全部楼层


什么都不加,默认的确是int型
我想知道,在什么情况下必须要加后缀。

使用特权

评论回复
zhanglli| | 2018-9-7 12:27 | 显示全部楼层


在想要强制转换成L或UL时加或可能产生溢出的时候加

使用特权

评论回复
llia|  楼主 | 2018-9-7 12:31 | 显示全部楼层
是不是变量有数据类型,因为变量在内存里有空间分配。

使用特权

评论回复
hanwe| | 2018-9-7 12:33 | 显示全部楼层
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
yufe| | 2018-9-7 12:37 | 显示全部楼层
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
wangpe| | 2018-9-7 12:41 | 显示全部楼层

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

使用特权

评论回复
langgq| | 2018-9-7 12:44 | 显示全部楼层
UL可以引入一个32位的变量?

使用特权

评论回复
wangzsa| | 2018-9-7 12:48 | 显示全部楼层
如果是变量就不需要加了, 一般都是常量加UL

使用特权

评论回复
yufe| | 2018-9-7 12:51 | 显示全部楼层

ul = unisgned long

使用特权

评论回复
llia|  楼主 | 2018-9-7 12:54 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

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

本版积分规则

961

主题

8893

帖子

4

粉丝