为了账号安全,请及时绑定邮箱和手机立即绑定

按位运算符和“字节序”

按位运算符和“字节序”

C
Qyouu 2019-11-13 15:31:17
是否字节顺序在所有问题与位操作?任一逻辑或移位?我正在从事按位运算符的作业,我无法在上面做任何事情,而且我想我对持久性很感兴趣。就是说,我正在使用一个小端序的机器(就像大多数机器一样),但这是否需要考虑?或者这是一个浪费的事实?万一重要,我正在使用C。
查看完整描述

3 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

按位运算符抽象出字节序。例如,>>操作员总是将比特移到最低有效位。但是,这并不意味着您可以放心地完全忽略字节序,例如,在处理较大结构中的单个字节时,您不能始终假定它们将位于同一位置。


short temp = 0x1234;

temp = temp >> 8;


// on little endian, c will be 0x12, on big endian, it will be 0x0

char c=((char*)&temp)[0];

需要澄清的是,我与这里的其他答案基本不同。我想强调的一点是,尽管按位运算符本质上是字节序中性的,但您不能忽略代码中字节序的影响,尤其是与其他运算符组合使用时。


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 377 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信