gpt4 book ai didi

hex - 在十六进制和二进制符号之间移动

转载 作者:行者123 更新时间:2023-12-04 04:47:50 26 4
gpt4 key购买 nike

当一个字节由 8 位二进制表示法表示时,您将得到一个由 8 个可能的 1 和 0 组成的序列。因此 00101010 可以使用十六进制表示法缩短为 2A。我的书说你可以在右边第 4 位之后使用十六进制来缩短该表示。例如...

00101010 可以用十六进制表示法和二进制表示法的混合表示,方法是取 0010 左边的 4 位数字,并将该序列表示为等于 2 的十六进制数。我理解是因为 0010 等于 32,并且当您使用以 16 为基数等于 2 的十六进制表示法时。

我不明白的是序列的右侧是如何表示的。我的书说 1010 可以用等于 10 的字母 A 表示。二进制表示法中的 1010 等于 8 + 2 = 10。这是我遇到的问题。将相同的概念应用到右侧作为 8 位序列的左侧,您不应该将骑行侧 10 除以 2,因为二进制表示法使用 2 的幂,就像您使用左侧除以 16 一样有16次幂的十六进制记数法?我想错了吗?

最佳答案

让我们从完整的 8 位字节开始,在每个数字下写入位值:

0 0 1 0 1 0 1 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ 8 4 2 1
↓ ↓ ↓ 16
↓ ↓ 32
↓ 64
128

因此,以 10 为底,这是 32 + 8 + 2 = 42。

如果我们将 8 位字节分成两个 4 位 nybbles,你有
0 0 1 0  1 0 1 0
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
8 4 2 1 8 4 2 1

您会注意到每个 4 位 nybble 可以保存 0 到 15 之间的值。因此 nybbles 可以表示两个十六进制数字。

当我们计算它们的值时,我们以相同的方式对待这两个 nybbles。从左到右,每个 nybble 中的数字的位值为 8、4、2、1。因此上(左)nybble 的值为 2,下(右)nybble 的值为 8 + 2 = 10 .如你所写,十进制数10在十六进制中写成A,所以十六进制字节写成 2A .

但请记住,这是十六进制。所以位置值是 16 的幂:
2 A
↓ ↓
↓ 1
16

因此,转换回十进制,2A = 2×16 + 10 = 32 + 10 = 42。

关于hex - 在十六进制和二进制符号之间移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com