我在 Codewarrior 工作并尝试向左 (>>) 执行按位移位到“char-casted” int 变量,即:
int checksum=0x017b;
char checksum_H=(char) checksum >>8; //higher part of checksum
char checksum_L=(char) checksum; //lower part of checksum
问题是,我实际上可以得到正确的值checksum_L
,但是checksum_H
我得到 0x00.... 只有当我尝试使用“>”而不是“>>”执行移位时,我才能得到 0x01 的正确结果。 ..
你们中有人知道为什么会发生这种情况吗?