位在字节顺序中重要吗?
Are bits significant in endianness?
我正在尝试处理跨平台 C++11 应用程序中的字节顺序。
假设我想使用 明确定义的 行为将 64 位值从大端转换为小端。一种资源建议我可以将大端版本加载到 std::bitset
并反转内容。
但这不正确,是吗? Endianness 似乎总是处理字节顺序,而不是位顺序,但我找不到明确解决问题的权威资源。
你完全正确。
如果字节顺序由值0x12345678
的表示来表示,那么大端是12 34 56 78
,小端是78 56 34 12
。反转大端表示中的位不会产生小端表示,只有反转字节才会。
我正在尝试处理跨平台 C++11 应用程序中的字节顺序。
假设我想使用 明确定义的 行为将 64 位值从大端转换为小端。一种资源建议我可以将大端版本加载到 std::bitset
并反转内容。
但这不正确,是吗? Endianness 似乎总是处理字节顺序,而不是位顺序,但我找不到明确解决问题的权威资源。
你完全正确。
如果字节顺序由值0x12345678
的表示来表示,那么大端是12 34 56 78
,小端是78 56 34 12
。反转大端表示中的位不会产生小端表示,只有反转字节才会。