为什么不可能像十六进制一样将十进制数逐个数字转换成二进制?

将二进制数转换成十六进制数(及相反转换)时,可以通过观察这个数字直接转换,因为每个十六进制数字恰好对应于4个二进制数字(位)。从二进制数的小数点开始,每4个二进制位划分到一个组里,每个组用一个十六进制数进行替换:

img

因为十进制不像二进制那样正好和十六进制存在等比关系,二进制4位正好是十六进制1位
比如说
2^16=16^4
10进制没这个关系
比如
10^10=16^几次方?是一个小数

因为16是2的4次方,而10不是2的整数次方,所以不行

将十进制数逐个数字转换成二进制的方法是通过连续地对数字进行除2取余操作,直到商为0为止。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7434299
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:数组指针和指针数组以及二级指针和二维数组的一些理解与实例分析
  • 您还可以看一下 刘磊老师的计算机进制转换课程中的 十进制规则小数转换为二进制小节, 巩固相关知识点
  • 除此之外, 这篇博客: 关于二叉树先序遍历和后序遍历为什么不能唯一确定一个二叉树分析中的 先序和后序递归构建二叉树的代码 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    在十六进制转换为二进制的过程中,每个十六进制数对应4个二进制数,这是因为十六进制是一个16进制系统,有16个不同的数字(0-9,A-F),而2的4次方等于16,所以每4个二进制位可以表示一个十六进制数。

    而在将十进制转换为二进制的过程中,每个十进制数字并不是直接对应于一个固定位数的二进制数。因为十进制是一个10进制系统,有10个不同的数字(0-9),而2的多少次方都无法等于10,所以无法将每个十进制数字对应于一个固定位数的二进制数。

    例如,我们可以将十进制数5转换为二进制数101,十进制数10转换为二进制数1010。这里的位数不是固定的。

    所以,无法像十六进制一样逐个数字地将十进制数转换为二进制数。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^