【发布时间】:2013-05-19 02:38:39
【问题描述】:
我有一个字节数组:
byte data[2]
我想保留第一个中的 7 个较低有效位和第二个中的 3 个最高有效位。 我这样做:
unsigned int the=((data[0]<<8 | data[1])<<1)>>6;
你能告诉我为什么这不起作用吗? 如果我在不同的行中这样做,效果很好。
【问题讨论】:
-
@chris 不,整数促销。如果
byte已签名且data[0] < 0是 UB。 -
@DanielFischer,好点,我忘了。棘手的语言很棘手:p
-
所以我想我想念的是演员?
-
错误信息是什么?
-
@rahulmaindargi 不,两个打开,两个关闭。
标签: c++ c eclipse optimization arduino