首页 > 其他 > 详细

#define定义数据溢出的问题

时间:2019-03-14 10:15:43      阅读:183      评论:0      收藏:0      [点我收藏+]

使用合泰单片机做一个小东西,使用

#define TIMER_COUNT (30*60*1000)

时,发现结果老是不对,后来想想,是不是数据溢出了,一查果然是这样。看来是stm32用多了,总以为#define是默认32位数据类型的。改成

#define TIMER_COUNT (unsigned long)(30*60*1000)

后结果就正常了。随便想纠正下网上很多帖子的问题,估计他们也没验证过。

#define TIMER_COUNT (30*60*1000)UL        //这种写法编译根本无法通过
#define TIMER_COUNT (30*60*1000UL)        //正常
#define TIMER_COUNT  30*60*1000UL          //看起来正常,但是想想如果使用时用100/TIMER_COUNT会怎么样?

最后,真的想吐槽下合泰的IDE,真的没见过做的这么烂的IDE了,可以拿来当反面教材

#define定义数据溢出的问题

原文:https://www.cnblogs.com/zwj412/p/10528238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!