1

我正在尝试将值输出为 4 字节无符号整数(以小端形式)并且对某些事情感到困惑。

如果我想以这种形式输出数字 1,它是否显示为:

00000001 00000000 00000000 00000000

或者

10000000 00000000 00000000 00000000

同样,如果我想输出数字 256,它会采用以下形式:

11111111 00000001 00000000 00000000

我只需要澄清一下。我从互联网上的各个地方读到了一些相互矛盾的东西。

4

2 回答 2

1

内存通常表示为一系列离散字节,因此谈论哪些位彼此相邻是没有意义的。这只是显示格式的问题。也就是说,在右侧显示 LSB 是传统的,因此在您的示例中它将是

00000001 00000000 00000000 00000000

在十六进制中,这是您在检查二进制文件时通常使用的,您会得到

01 00 00 00

此外,在您的第二个示例中,您意外地表示了 511,而不是 256。256 的正确位表示是

00000000 00000001 00000000 00000000
于 2012-08-01T03:53:14.400 回答
1

字节序会影响多字节字中的字节顺序,而不是字节本身中的位顺序。所以 1 是

00000001 00000000 00000000 00000000

和 256 是

00000000 00000001 00000000 00000000
于 2012-08-01T03:53:34.600 回答