是否字节顺序在所有问题与位操作?任一逻辑或移位?我正在从事按位运算符的作业,我无法在上面做任何事情,而且我想我对持久性很感兴趣。就是说,我正在使用一个小端序的机器(就像大多数机器一样),但这是否需要考虑?或者这是一个浪费的事实?万一重要,我正在使用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];
需要澄清的是,我与这里的其他答案基本不同。我想强调的一点是,尽管按位运算符本质上是字节序中性的,但您不能忽略代码中字节序的影响,尤其是与其他运算符组合使用时。
- 3 回答
- 0 关注
- 377 浏览
添加回答
举报
0/150
提交
取消