字节里面的顺序是不是像“big-endian”?

字节里面的顺序是不是像“big-endian”?

在wiki中,“big-endian”是指多个字节的存储顺序。

一个字节由 8 位组成,注意这些位的顺序也很重要。

我这样做了dd if=/dev/sda count=1 | xxd -b,发现字节是按照地址的相反方向增加存储的:

01100011(低地址在左边,而这个字节是ascii字符'c')它似乎是位级的“大端”。

如何解释这个奇怪的现象?

答案1

xxd将读取的每个字节转换为{十六进制、二进制、八进制}数字并打印该内容,而不是所述字节在内存或其他地方的表示形式。我熟悉的所有数字写入方案都是大端的,所以这就是您得到的。

答案2

位仅按显示顺序呈现。它们在计算机内部不按任何特定顺序存储。例外情况是位在处理器内部可单独寻址的情况。在所有这些情况下,0 都表示最低有效位。

如何xxd显示位与如何存储位无关。

相关内容