Joh*_*han 2 c++ endianness processors
有很多使用Big Endian的电脑吗?我刚刚在5台不同的计算机上测试过,每台计算机都是在不同的年份购买的 每个人都使用Little Endian.Big Endian现在还在使用,还是适用于摩托罗拉6800等老式处理器?
编辑:
谢谢TreyA,intel.com/ design/intarch/papers/endian.pdf 是一篇非常好用的文章.它涵盖了下面的每个答案,并且还对它们进行了扩展.
目前使用的处理器有很多大端,或允许选择在大端和小端之间切换端模式(例如SPARC,PowerPC,ARM,Itanium ..).
这取决于你对"关心endian"的意思.如果您只是编程所需的数据,通常不需要特别关注endianess.当您需要与外部世界通信时,Endian很重要,例如读/写文件,或通过网络发送数据,您可以通过直接向/从内存读取/写入大于1个字节的整数来实现.
当您确实需要处理外部数据时,您需要知道其格式.其格式的一部分是例如知道如何在该数据中编码整数.如果格式指定4字节整数的第一个字节是所述整数的最高有效字节,则读取该字节并将其放在程序中整数的最高有效字节,并且您将能够实现这一点代码可以在小端和大端机器上运行.
所以它并不是特别关于处理器的endianess,而是你需要处理的数据.这些数据可能有整数存储在"endian"中,你需要知道哪些,各种数据格式将根据某些规范使用各种endianess,或者取决于提出格式的人的想法.