所有有关字节序的问题和答案似乎都集中在字节的顺序上,但假设我有一系列位(bit),其中位(bit)的顺序至关重要。假设我将它们保存为字节数组(byte array)的内存棒文件。某一天,我可能会在使用小端机器时使用这个内存棒,而在使用大端机器时使用另一个内存棒。
假设位序列如下:
假设位序列如下:
10000000 00000001
我使用的是小端机器,但我总是将字节保存为大端格式,因此我需要反转每个字节中的位,以便将它们保存到存储设备中。
00000001 10000000.
第二天,我将它们读入到一个uint8_t数组中,在完全不同的机器上。我假设(有人能确认一下吗),它们最终会以以下方式存储在内存中:
{128,1} [little] or {1,128} [big].
如果我在一台小端机器上,那么我应该再次颠倒每个字节中的位顺序,以恢复原始的位序列。能有人确认一下吗?
我不确定读取字节(位)的机器是否假设它们处于与机器本身相同的字节序。