点滴 UL

今天看嵌入式的一些知识的时候,看到有人出人考题是:

请定义一年有多少秒。

然后认为最好的答案是:

#define SECONDS_PER_YEAR (60*60*24*365)UL

这里,预处理宏定义会给你计算好值,你自己就不用计算了。考这个思路。

第二,这里还考虑到了嵌入式微控制器,一般微控制器都是16位及以下的,而且宏定义一般默认是整型。如果直接这么定义的话会溢出的。

在C语言宏定义里,可以使用UL,标记该宏 unsigned long 。所以这里考虑的非常周到。厉害!

此时,如果想要输出这个宏的话,必须

printf("%ld \r\n", SECONDS_PER_YEAR);

也可以这么定义:

#define SECONDS_PER_YEAR (60UL*60*24*365)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值