猿问

按位运算符和“字节序”

是否字节顺序在所有问题与位操作?任一逻辑或移位?


我正在从事按位运算符的作业,我无法在上面做任何事情,而且我想我对持久性很感兴趣。就是说,我正在使用一个小端序的机器(就像大多数机器一样),但这是否需要考虑?或者这是一个浪费的事实?


万一重要,我正在使用C。


Qyouu
浏览 378回答 3
3回答

江户川乱折腾

按位运算符抽象出字节序。例如,>>操作员总是将比特移到最低有效位。但是,这并不意味着您可以放心地完全忽略字节序,例如,在处理较大结构中的单个字节时,您不能始终假定它们将位于同一位置。short temp = 0x1234;temp = temp >> 8;// on little endian, c will be 0x12, on big endian, it will be 0x0char c=((char*)&temp)[0];需要澄清的是,我与这里的其他答案基本不同。我想强调的一点是,尽管按位运算符本质上是字节序中性的,但您不能忽略代码中字节序的影响,尤其是与其他运算符组合使用时。
随时随地看视频慕课网APP
我要回答