在最新版本的boost中,定义了4个字节序宏:
* `BOOST_ENDIAN_BIG_BYTE`, byte-swapped big-endian.
* `BOOST_ENDIAN_BIG_WORD`, word-swapped big-endian.
* `BOOST_ENDIAN_LITTLE_BYTE`, byte-swapped little-endian.
* `BOOST_ENDIAN_LITTLE_WORD`, word-swapped little-endian.
https://www.boost.org/doc/libs/1_69_0/boost/predef/other/endian.h
我不清楚_BYTE
和_WORD
宏之间的区别。
答案 0 :(得分:4)
单词交换字节序是指(现在是史前的)硬件,可以将其视为中间字节序:一个单词的两半将被交换,但半字中的字节顺序将不被交换。 。 PDP-11可能是拥有此功能的最著名的体系结构。
说实话,提升支持该字节序的原因尚不清楚,因为我敢肯定,在那些史前体系结构上通常不能很好地支持提升。例如,C ++标准使用了 little 和 big 选项:https://en.cppreference.com/w/cpp/types/endian
有关中间字节序的更多信息:https://en.wikipedia.org/wiki/Endianness#Middle-endian