N个十六进制数字对应多少位?
Posted
技术标签:
【中文标题】N个十六进制数字对应多少位?【英文标题】:how many bits correspond to N hexadecimal digits? 【发布时间】:2021-10-01 03:15:25 【问题描述】:答案并不那么简单。我知道通常 1 个十六进制数字映射到 4 位,但这甚至不是真的。如果 MSB(最左边)为 0,会发生什么? 在线我注意到这个字符串有时会转换为 476 位,有时会转换为 478 位,有时会转换为 480 位?你如何转换它?为什么?它的长度为 120 位。谢谢你。 02012B1530A6E3958A98530031902003876940000000000CDF9844173BE512AFFFFFFE11DBBA1F00079387800E13012E11FC017FFFFFFFFE39C10F40
【问题讨论】:
【参考方案1】:确实,一个十六进制数字对应于 4 位。 所以你只是隐蔽
0 => 0000 ... f => 1111当您对给定数字执行此操作时,它以 0000 0010 开头。与十进制数字一样,可以根据需要删除或添加前导零,因此所有前导零或多或少的答案都是正确的。 十六进制和二进制只是像十进制一样的其他数字系统。
如果是整数,您通常希望删除所有前导零,以及带有十进制数字的石灰。
但是当它是代表数据的字节或位数组时,你会保留它们,因为 0 实际上代表值 0。
Ihr 计算器给出 480 作为结果可能会将其解释为字节或位数组,因此保留前导零。 476 似乎删除了前导十六进制零,然后最终保留了最多 3 个前导二进制零。不知道你会如何得到 478 位数字。
但是,公共输出应该有 480 位或 474 位数字,具体取决于是否保留全零。其他一切都没有真正的意义,尽管它在技术上并没有错。
【讨论】:
以上是关于N个十六进制数字对应多少位?的主要内容,如果未能解决你的问题,请参考以下文章