这与家庭作业有关,但这不是家庭作业。
我很难理解按位非(~
在 C 中)如何影响signed int
以及unsigned int
在大端机器与小端机器上编译时是否存在差异。
字节是否真的“向后”,如果是这样,按位不(和其他运算符)是否会int
根据机器类型产生不同的结果?
当我们这样做时,C 中的每个位运算符的答案是否相同,或者它是否严重依赖?
我指的运营商是:
~ /* bitwise Not */
& /* bitwise And */
| /* bitwise Or */
^ /* bitwise Exclusive-Or */
先感谢您!
更新:到目前为止,在阅读我的回复时,我不得不询问按位非运算符是否会影响 a 上的符号位signed int
。恐怕我在这部分有点困惑,因为我忘记了所有的寂静。Adam 似乎在声明所有值都被视为无符号。是重新应用符号位还是曾经签名的值变为无符号?