OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4092|回复: 8

问个问题哈,关于数字后缀L的用法

[复制链接]

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
发表于 2016-8-13 19:53:23 | 显示全部楼层 |阅读模式
1金钱
代码如下:
[mw_shl_code=applescript,true]unsigned long     num;
num = num * 24 * 60 * 60;

[/mw_shl_code]


[mw_shl_code=applescript,true]unsigned long  num2;
num2 = num2 * 24L * 60L * 60L;[/mw_shl_code]


这有什么区别?假如不加后缀L的话,是什么情况?








最佳答案

查看完整内容[请看2#楼]

告诉编译器 你这个数值是按long型 计算的
毕业两年才学STM32...
这些都没关系,重点是自己到底成长了没有
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2015-11-26
在线时间
25 小时
发表于 2016-8-13 19:53:24 | 显示全部楼层
告诉编译器  你这个数值是按long型  计算的
回复

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
 楼主| 发表于 2016-8-15 10:07:35 | 显示全部楼层
顶一下   
回复

使用道具 举报

58

主题

6291

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11407
金钱
11407
注册时间
2014-4-1
在线时间
1282 小时
发表于 2016-8-15 10:10:27 | 显示全部楼层

好像头次见。

回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
发表于 2016-8-15 13:56:39 | 显示全部楼层
要看編譯器預設是什麼吧...
M4應該原本就是預設就是32位有號整數所以加不加沒差

後綴在浮點常數比較有差吧...
試試float num=3.0f/2 跟 3/2
回复

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
 楼主| 发表于 2016-8-18 10:23:53 | 显示全部楼层
嗷大喵 发表于 2016-8-13 19:53
告诉编译器  你这个数值是按long型  计算的

关键是,假如不加L,以下代码会有什么影响:
[mw_shl_code=applescript,true]num2 = num2 * 24L;[/mw_shl_code]
毕业两年才学STM32...
这些都没关系,重点是自己到底成长了没有
回复

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
 楼主| 发表于 2016-8-18 11:49:35 | 显示全部楼层
本帖最后由 WM_CH 于 2016-8-18 15:03 编辑

C语言中常量的默情况:整形默认为有符号int;浮点型默认为double。
如果整形常量大小超出int,默认自然就为long int;
如果需要无符号整形常量的话就可以在常量后面加u或是U,如0u或是0U,同理可以在常量后面加ul或UL表示无符号长整形常量。而浮点型常量后缀只有f或F,l或L,没有u或U,因为浮点数一般都为有符号。
clipboard.jpg
无标题.jpg 无标题2.jpg
无标题3.jpg 无标题4.jpg

八位机的来了:
K@2VQ[MSFQNUJMR1@5U7H7B.png

毕业两年才学STM32...
这些都没关系,重点是自己到底成长了没有
回复

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
 楼主| 发表于 2016-8-18 17:26:15 | 显示全部楼层
本帖最后由 WM_CH 于 2016-8-18 17:28 编辑

前面提到,编译器可以自动识别常数的类型来存放下常量。

那么到底为什么常数要加后缀呢???
请看下边:
QQ图片20160818172547.png QQ图片20160818172556.png








毕业两年才学STM32...
这些都没关系,重点是自己到底成长了没有
回复

使用道具 举报

头像被屏蔽

0

主题

207

帖子

0

精华

禁止发言

积分
276
金钱
276
注册时间
2019-3-4
在线时间
4 小时
发表于 2019-3-28 08:42:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 11:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表