带小数十进制转二进制--图解

我们常见的是纯整数十进制转二进制,而对小数部分的转换不常提及。以下帮助大家梳理
( x x x . y y y ) 10 x x x 为 整 数 部 分 , y y y 为 小 数 部 分 (xxx.yyy)_{10}\\ xxx为整数部分,yyy为小数部分 (xxx.yyy)10xxxyyy
核心思想:将整数和小数部分分开计算,最后整合。

  1. 对于整数:除二逆向取余
  2. 对于小数部分:乘二正向(向下)取整

(一)整数部分
以34举例
请添加图片描述
图中每个小箭头代表一次除2
34=17x2+0
17=8x2+1
…以此类推
最后逆向读出。故 ( 34 ) 10 (34)_{10} (34)10= ( 100010 ) 2 (100010)_2 (100010)2
(二)小数部分
以0.625举例
请添加图片描述
图中每个小箭头代表两个操作:
A → \rightarrow B

  1. Ax2
  2. B= A- ⌊ A ⌋ \lfloor A \rfloor A

0.25=0.625*2=1.25- ⌊ 1.25 ⌋ \lfloor 1.25 \rfloor 1.25 =0.25 ( ⌊ 1.25 ⌋ \lfloor 1.25 \rfloor 1.25=1)

0.5=0.25*2=0.5- ⌊ 0.5 ⌋ \lfloor {0.5} \rfloor 0.5=0.5( ⌊ 0.5 ⌋ \lfloor {0.5} \rfloor 0.5=0)

最后正向读出。故 ( 0.625 ) 10 = ( . 101 ) 2 (0.625)_{10}=(.101)_2 (0.625)10=(.101)2

若嫌式子过于复杂,可以这么记忆:
小数部分乘2,若>1,则减去1,在旁边记录下1;
若小于1,则无需减去1,在旁边记录下0;
使其一直为0.xx的形式,如此往复

特别的:小数部分转二进制可能会出现乘不尽,一直不能化为0。此时根据题目要求的精度来决定要多少位二进制即可。

整合
那么34.625的二进制表述就是将其拼接起来
( 34.625 ) 10 = ( 100010.101 ) 2 (34.625)_{10}=(100010.101)2 (34.625)10=(100010.101)2

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快苏排序OAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值