N个十六进制数对应多少位?

how many bits correspond to N hexadecimal digits?

答案并不那么简单。我知道通常 1 个十六进制数字映射到 4 位,但这甚至不是真的。如果 MSB(最左边)是 0 会怎样? 在网上我注意到这个字符串有时会转换为476位数字,有时会转换为478位数字,有时会转换为480位数字?你如何转换它?为什么?它的长度为 120 位。谢谢你。 02012B1530A6E3958A98530031902003876940000000000CDF9844173BE512AFFFFFFE11DBBA1F00079387800E13012E11FC017FFFFFFFFFE39C10F40

没错,一个十六进制数对应4位。 所以你就隐蔽

  • 0 => 0000
  • ...
  • f => 1111

当您对给定的数字执行此操作时,它以 0000 0010 开头。与十进制数字一样,可以根据需要删除或添加前导零,因此所有带有或多或少前导零的答案都是正确的。 十六进制和二进制只是其他数字系统,如十进制。

如果是整数,您通常希望删除所有前导零、带小数的 lime。

但是当它是表示数据的字节或位数组时,你会保留它们,因为0实际上表示值0。

结果为 480 的 Ihr 计算器可能会将其解释为字节或位数组,因此保留前导零。 476 似乎删除了前导十六进制零,然后最终保留了最多 3 个前导二进制零。不知道你怎么会得到 478 位数字。

然而,公共输出应具有 480 或 474 位数字,具体取决于是保留所有零还是 none。其他一切都没有真正意义,尽管它在技术上没有错。