彻底搞清楚十进制/二进制/十六进制 之间的转换

本文旨在说清楚十进制整数转换成二进制用的“除二取余法”,其他转换用此举一反三即可。
核心:十进制转换成二进制关键在于确定各个位权上的系数。

  1. 先考虑十进制本身,如702=7×10^2 + 0×10 + 2×10^0.数字7, 0, 2分别是10^2, 10^1, 10^0 三个位权对应的系数。
  2. 那么反过来,给定702, 如何获取各个位权上的数字呢?
    答:容易想到:702%10=2; 702/10%10=0; 702/10/10%10=7. 可以命名为“除10取余法
  3. 所以,同理,给定72如何获取对应二进制上各个位权之上的系数呢?答:除2取余法

至于小数部分怎么转换,模仿上述流程。

  1. 对于十进制,如0.702=7×10^-1+ 0×10^-2 + 2×10^-3.
  2. 反过来,给定0.702怎么得到各个位权上的数字呢?
    0.702×10=7.02 取新晋整数7;
    0.702×10^2=70.2取新晋整数0;
    0.702×10^3=702取新晋整数2.
    到此结束,可以将“完全进化为整数”作为结束的标志
    可以命名为“乘十取整法”。
  3. 同理,将0.75转换成二进制小数,应用“乘二取整法”如下:
    0.75×2=1.5取新晋整数1;
    0.75×2^2 = 3 = 11(B)取新晋整数1.
    因为小数已经完全进化为整数。所以到此为止。0.75=0.11(B)
  4. 注意:不是所有十进制小数都可以转化为二进制小数,该结论不是本文讨论重点,有兴趣的读者自行了解。

欢迎广提建议,期待共同进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值