我已阅读 Wikipedia字节顺序主要分为三种类型:
- 大端
- 小端
- 中端
boost::endian
关注两个第一,因为:
PDP-11 and the other middle endian approaches are interesting historical curiosities but have no relevance to today's C++ developers.
但我也阅读了 Wikipedia有小端和大端的 8 位
和 16 位
版本(也许还有其他版本?)。
boost::endian
是否管理两个版本?- 如果是,怎么做?
- 如果不是,为什么?
最佳答案
我对 boost 库知之甚少,但字节序几乎遍及计算机中的所有事物,在尝试编写字节序中立的代码时可能会让人头疼。如果你有一个 128 位整数,小端计算机的指针将指向低位,而大端指针将指向高位。根据数据类型,指针可以位于大端系统中内存上下的任何位置。由于小端系统总是指向低位字节,并且没有小于字节的数据类型,类型强制在小端机器上变成了空操作。
关于c++ - boost::endian 和非 1 字节原子字节顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194818/