打印

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

[复制链接]
1170|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){...}看看结果。

使用特权

评论回复
5
langgq| | 2018-9-6 20:24 | 只看该作者
嗯,如果本意就是integer类型的话,自然不用加ul。

使用特权

评论回复
6
wangzsa| | 2018-9-7 12:21 | 只看该作者
整常数类型应该是integer,其可正负。

使用特权

评论回复
7
llia|  楼主 | 2018-9-7 12:24 | 只看该作者


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

使用特权

评论回复
8
zhanglli| | 2018-9-7 12:27 | 只看该作者


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

使用特权

评论回复
9
llia|  楼主 | 2018-9-7 12:31 | 只看该作者
是不是变量有数据类型,因为变量在内存里有空间分配。

使用特权

评论回复
10
hanwe| | 2018-9-7 12:33 | 只看该作者
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
11
yufe| | 2018-9-7 12:37 | 只看该作者
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
12
wangpe| | 2018-9-7 12:41 | 只看该作者

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

使用特权

评论回复
13
langgq| | 2018-9-7 12:44 | 只看该作者
UL可以引入一个32位的变量?

使用特权

评论回复
14
wangzsa| | 2018-9-7 12:48 | 只看该作者
如果是变量就不需要加了, 一般都是常量加UL

使用特权

评论回复
15
yufe| | 2018-9-7 12:51 | 只看该作者

ul = unisgned long

使用特权

评论回复
16
llia|  楼主 | 2018-9-7 12:54 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

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

本版积分规则

961

主题

8893

帖子

4

粉丝