Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost::endian和非1字节原子endianness?_C++_C++11_Boost_Bit_Endianness - Fatal编程技术网

C++ boost::endian和非1字节原子endianness?

C++ boost::endian和非1字节原子endianness?,c++,c++11,boost,bit,endianness,C++,C++11,Boost,Bit,Endianness,我读到有三种主要的endianness类型: 大端 小恩迪亚 中端 boost::endian关注两个第一,因为: PDP-11和其他中端方法很有趣 历史的好奇,但与今天的C++无关 开发者 但我也读到有8位和16位版本(可能还有其他版本?)的小端和大端 boost::endian是否同时管理这两个版本 如果是,如何进行 若否,原因为何 我对boost库不太了解,但是endian性几乎渗透到计算机中的所有东西中,在尝试编写与endian无关的代码时可能会让人头疼。如果你有一个128位的整数

我读到有三种主要的endianness类型:

  • 大端
  • 小恩迪亚
  • 中端
boost::endian
关注两个第一,因为:

PDP-11和其他中端方法很有趣 历史的好奇,但与今天的C++无关 开发者

但我也读到有
8位
16位
版本(可能还有其他版本?)的小端和大端

  • boost::endian
    是否同时管理这两个版本
  • 如果是,如何进行
  • 若否,原因为何
我对boost库不太了解,但是endian性几乎渗透到计算机中的所有东西中,在尝试编写与endian无关的代码时可能会让人头疼。如果你有一个128位的整数,小端计算机的指针将指向低位,而大端计算机的指针将指向高位。根据数据类型的不同,指针可能位于big-endian系统内存中上下的任何位置。由于little-endian系统总是指向低阶字节,并且没有小于一个字节的数据类型,因此在little-endian机器上,类型强制成为不可操作的