打印

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

[复制链接]
361|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llia|  楼主 | 2017-5-25 23:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一直不是很明白什么情况下要加ul?
沙发
wangpe| | 2017-5-25 23:07 | 只看该作者

整常数缺省类型应该是integer。

使用特权

评论回复
板凳
wangzsa| | 2017-5-25 23:08 | 只看该作者

缺省是unsigned int,C语言在运行过程中会隐式的类型转换,有时会使程序出现异响不到的结果。

使用特权

评论回复
地板
wangpe| | 2017-5-25 23:12 | 只看该作者
可以试试 if(-1<ZERO){...}看看结果。

使用特权

评论回复
5
langgq| | 2017-5-25 23:15 | 只看该作者
嗯,如果本意就是integer类型的话,自然不用加ul。

使用特权

评论回复
6
wangzsa| | 2017-5-25 23:17 | 只看该作者

整常数类型应该是integer,其可正负。

使用特权

评论回复
7
llia|  楼主 | 2017-5-25 23:19 | 只看该作者

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

使用特权

评论回复
8
zhanglli| | 2017-5-25 23:21 | 只看该作者

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

使用特权

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

使用特权

评论回复
10
hanwe| | 2017-5-25 23:25 | 只看该作者
整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
11
yufe| | 2017-5-25 23:27 | 只看该作者

整型数据好像也有数据类型,但是整型数据在内存有空间分配吗?

使用特权

评论回复
12
wangpe| | 2017-5-25 23:28 | 只看该作者

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

使用特权

评论回复
13
langgq| | 2017-5-25 23:30 | 只看该作者

UL可以引入一个32位的变量?

使用特权

评论回复
14
wangzsa| | 2017-5-25 23:32 | 只看该作者

如果是变量就不需要加了, 一般都是常量加UL

使用特权

评论回复
15
yufe| | 2017-5-25 23:35 | 只看该作者
ul = unisgned long

使用特权

评论回复
16
llia|  楼主 | 2017-5-25 23:37 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

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

本版积分规则

961

主题

8893

帖子

4

粉丝