乘2取整法_关于乘2取整法?

学习二进制,最好的方法就是类比。

考虑一个十进制小数0.123,我们可以用“乘10取整”法得到它的每一位小数:第一位小数是0.123*10=1.23,取整数1;第二位小数:0.23*10=2.3,取整数2……

上面的方法供你直观理解,下面我从数学的角度分析其中的原理。

现在有一个十进制小数为0.625,要把它转换为二进制小数,我们需要找到它的每一位。记这个二进制小数点后第1位是a1,第二位是a2,……,那么这个小数的值就是a1*(1/2)^(-1)+a2*(1/2)^(-2)+a3*(1/2)^(-3)+…。现在我们的目标是根据0.625找到对应的a1,a2,a3,…使得0.625=a1*(1/2)^(-1)+a2*(1/2)^(-2)+a3*(1/2)^(-3)+…

在等式两边同时乘以2,得到1.25=a1*(1/2)^(0)+a2*(1/2)^(-1)+a3*(1/2)^(-2)+…

我们发现,左边的整数部分1对应右边的a1,也就是二进制小数的第一位,于是a1=1,对于剩下的部分:

0.25=a2*(1/2)^(-1)+a3*(1/2)^(-2)+…

我们再次乘以2,得到0.5=a2*(1/2)^(0)+a3*(1/2)^(-1)+… 于是a2=0

再乘以2,得到1=a3*(1/2)^(0)+…, 于是a3=1,到这里,所有的数都消耗完了,我们找到了0.625对应的二进制小数:0.101

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值