[C语言] 关于强制截取位数问题

[复制链接]
1402|11
 楼主| 火山LF 发表于 2016-6-2 09:33 | 显示全部楼层 |阅读模式

deltaTrigger = (uint8) timeNow - globalWakeupTime;

timeNow和globalWakeupTime是32位的,deltaTrigger是8位的,在这里,应该是先取8位再减,还是先减了再取8位?如果先取8位再减,肯定是不够减的,为什么后面不加个括号呢?
pkuzhx 发表于 2016-6-2 09:38 | 显示全部楼层
同觉得应该加括号
ayb_ice 发表于 2016-6-2 12:08 来自手机 | 显示全部楼层
一般是最后截取,当然主要取决于具体应用情况
 楼主| 火山LF 发表于 2016-6-2 13:50 | 显示全部楼层
ayb_ice 发表于 2016-6-2 12:08
一般是最后截取,当然主要取决于具体应用情况

(uint8)的优先级和减号的优先级,谁高一点?
xuyaqi 发表于 2016-6-2 15:28 | 显示全部楼层
应该先减了再取8位,要加括号。
ayb_ice 发表于 2016-6-2 15:32 来自手机 | 显示全部楼层
火山LF 发表于 2016-6-2 13:50
(uint8)的优先级和减号的优先级,谁高一点?

括号高,
 楼主| 火山LF 发表于 2016-6-2 15:57 | 显示全部楼层
xuyaqi 发表于 2016-6-2 15:28
应该先减了再取8位,要加括号。

嗯呢,发现加不加括号,结果都是一样的
xuyaqi 发表于 2016-6-2 15:58 | 显示全部楼层
结果对吗
 楼主| 火山LF 发表于 2016-6-2 16:16 | 显示全部楼层

加不加括号,结果都是对的
ayb_ice 发表于 2016-6-2 17:33 来自手机 | 显示全部楼层
火山LF 发表于 2016-6-2 16:16
加不加括号,结果都是对的

那只是在部分情况下是对的
shauew 发表于 2016-6-3 08:28 | 显示全部楼层
火山LF 发表于 2016-6-2 13:50
(uint8)的优先级和减号的优先级,谁高一点?

强转更高
mcu5i51 发表于 2016-6-3 09:54 | 显示全部楼层
无所谓,反正整数加减中取低位的值是相同的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

816

帖子

16

粉丝
快速回复 在线客服 返回列表 返回顶部