在讨论endian时,教师给我们一个十六进制的字0A0B0C0D,为什么它是一个32位的字?
感谢。
答案 0 :(得分: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位数字,这是正确的答案。在对数字进行分类时,我们不会考虑任何前导零!
答案 1 :(得分:0)
0A0B0C0D是二进制的0000/1010/0000/1011/0000/1100/0000/1101,因为每个十六进制由4位表示。因此,如果你统计它们,你总共得到32位。
答案 2 :(得分:0)
有8个十六进制数字,每个十六进制数字是4位,8 * 4 = 32位。
你的特定词语如下:
0000 1010 0000 1011 0000 1100 0000 1101
0 A 0 B 0 C 0 D