Boost::端序和非1字节原子端序

boost::endian and non-1 byte atomic endianness?

本文关键字:字节 Boost      更新时间:2023-10-16

我在维基百科上读到有三种主要的字节序:

  • big endian
  • 小端字节序
  • 中间尾数法

boost::endian关注两个第一,因为:

PDP-11和其他中间端方法是有趣的历史上的奇珍异宝,但与今天的c++无关开发人员。

但是我也在维基百科上读到有8-bit16-bit版本的小端序和大端序(可能还有其他版本?)。

  • boost::endian是否同时管理两个版本?
  • 如果是,如何处理?
  • 如果没有,为什么?

我不太了解boost库,但是端序性在计算机中几乎无处不在,当试图编写端序中立的代码时,它可能是一个令人头痛的问题。如果你有一个128位的整数,小端计算机指针将指向低阶位,而大端指针将指向高阶位。根据数据类型的不同,指针可以位于大端系统中内存的上下任何位置。由于little-endian系统总是指向低序字节,并且没有小于一个字节的数据类型,因此类型强制转换在little-endian机器上成为无操作。