为什么会存在字节序问题?

3
我一直在学习位操作(移位、运算符等)并了解到字节序的概念。我阅读了许多相关资料,但仍不明白为什么不同机器使用不同类型的字节序。我的意思是,为什么数据解释必须在不同的机器上以不同的方式进行?是否所有设备都可以采用相同的实现方式?我很难理解这一点,似乎大端和小端机器只会创造本来不会存在的问题。你能解释一下为什么要存在字节序吗?
1个回答

2
我不想多说,因为我只是在重复这个链接,但使用小端的一个优点如下:
小端系统有一个特性,即相同的值可以在不使用不同地址的情况下以不同的长度从内存中读取(即使施加了对齐限制)。例如,具有内容4A 00 00 00的32位内存位置可以在相同的地址处作为8位(值= 4A ),16位(004A ),24位(00004A )或32位(0000004A )读取,所有这些都保留相同的数值。虽然高级程序员很少直接使用这个小端属性,但它经常被代码优化器以及汇编语言程序员使用。
它存在的另一个原因是因为似乎在20世纪60年代和70年代没有标准化;一些公司(例如英特尔的x86架构)决定采用小端(可能是出于上述优化原因),而其他公司则选择了大端。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接