以小端格式输出值为4字节无符号整数

时间:2012-08-01 03:50:52

标签: integer unsigned

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

如果我想在此表单中输出数字1,则显示为:

  

00000001 00000000 00000000 00000000

OR

  

10000000 00000000 00000000 00000000

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

  

11111111 00000001 00000000 00000000

我只需要澄清一下。我从互联网上的不同地方读过一些相互矛盾的信息。

2 个答案:

答案 0 :(得分:1)

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

00000001 00000000 00000000 00000000

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

01 00 00 00

另外,在你的第二个例子中,你意外地表示了511而不是256. 256的正确位表示是

00000000 00000001 00000000 00000000

答案 1 :(得分:1)

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

00000001 00000000 00000000 00000000

和256是

00000000 00000001 00000000 00000000