提问者:小点点

位(而不是字节)的顺序至关重要时的顺序[重复]


所有关于字节顺序的问题和答案似乎都集中在字节的顺序上,但假设我有一系列位,位的顺序是至关重要的。 假设我将它们作为字节数组保存到记忆棒文件中。 我可能一天在一个小端机上使用记忆棒,第二天在一个大端机上使用记忆棒。

假设位序列如下所示

10000000 00000001

我在一个小的endpoint机器上,但是我总是把字节保存为大endpoint,所以我把每个字节中的位反转,这样它们就保存在记忆棒上

00000001 10000000.

第二天,我在一台完全不同的机器上将它们读入uint8_t数组。 我假设(有人能证实这一点吗)他们会在记忆中

{128,1} [little] or {1,128} [big].

因此,如果我在一个小endpoint机器上,我应该再次颠倒每个字节内的位顺序,回到原始位序列。 有人能证实吗?

我不确定读取字节(位)的机器是否假定它们在机器本身的相同字节位序中。


共1个答案

匿名用户

Endianess仅适用于2字节或更大的整数(和浮点)变量。 它不适用于原始数据,UINT8_T(字节)变量或UINT8_T的数组。