我正在尝试在跨平台的C ++ 11应用程序中处理字节序。
假设我想通过明确定义的行为将64位值从big endian转换为little endian。一个资源建议我可以将大端版本加载到std::bitset
并反转内容。
但这不正确,是吗? Endianness似乎总是处理字节顺序,而不是位顺序,但我找不到明确解决问题的权威资源。
答案 0 :(得分:4)
你是对的。
如果通过值0x12345678
的表示显示字节序,则大端为12 34 56 78
,小端为78 56 34 12
。反转大端表示中的位不会产生小端表示,只会反转字节。