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

本文详细介绍了如何将十进制数的整数部分和小数部分分别转换为二进制,通过实例演示了除二逆向取余法和乘二正向取整法,包括34和0.625的转换过程,并提示了处理无限循环小数的方法及最终整合步骤。

我们常见的是纯整数十进制转二进制,而对小数部分的转换不常提及。以下帮助大家梳理
(xxx.yyy)10xxx为整数部分,yyy为小数部分 (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→\rightarrowB

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

0.25=0.625*2=1.25-⌊1.25⌋\lfloor 1.25 \rfloor1.25 =0.25 (⌊1.25⌋\lfloor 1.25 \rfloor1.25=1)

0.5=0.25*2=0.5-⌊0.5⌋\lfloor {0.5} \rfloor0.5=0.5(⌊0.5⌋\lfloor {0.5} \rfloor0.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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

快苏排序OAO

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

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

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

打赏作者

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

抵扣说明:

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

余额充值