0

在讨论字节序的时候,老师给了我们一个十六进制的字0A0B0C0D,为什么会是一个32位的字呢?

谢谢。

4

3 回答 3

2

前言:

如果您的老师给出 000000000A0B0C0Dh ,答案会是什么?
好吧,@ergonaut 和 @kdbanman 提供的答案将产生 64 位。

你的问题:

为什么它会是一个 32 位的字?

您的讲师给出的值不一定必须是 32 位。它可以很容易地被认为是 64 位、128 位或任何其他从 28 位开始的东西。

这里重要的是最高有效数字的位置
要找出将十六进制值 0A0B0C0Dh 转换为其二进制等效值 0000' 1 010'0000'1011'0000'1100'0000'1101b 并注意最左边的1占据第 28 位。记住位编号从右开始!
现在由于 28 位显然不适合 16 位字,我们选择下一个更高的格式,即 32 位。

将此逻辑应用于我的序言中的值也将导致一个 32 位数字,这是正确的答案。在对数字进行分类时,我们不考虑任何前导零!

于 2015-10-11T16:02:03.230 回答
0

0A0B0C0D 是二进制的 0000/1010/0000/1011/0000/1100/0000/1101,因为每个十六进制由 4 位表示。因此,如果将它们全部计算在内,您总共会得到 32 位。

于 2015-10-10T02:56:02.890 回答
0

有 8 个十六进制数字,每个十六进制数字为 4 位,8*4 = 32 位。

您的特定单词如下所示:

0000 1010 0000 1011 0000 1100 0000 1101
 0    A    0    B    0    C    0    D
于 2015-10-10T02:58:12.610 回答