小数的二进制与十进制的转换

导言

在计算机的运行中,总是会不可避免的与二进制打交道,但是我们又通常使用十进制,所以十进制与二进制的转换就显得有些尤为重要了。小数的二进制与十进制的转换又跟整数略有不同,今天就了解一下小数的二进制与十进制的转换。

二进制的小数

首先看这样一个小数 ( 100101.1101 ) 2 (100101.1101)_2 100101.11012
我们吧上面的二进制小数分段得到如下结果
( 100101 ) 2 . ( 1101 ) 2 (100101)_2 . (1101)_2 (100101)2.(1101)2
那么其中的整数部分和小数部分一目了然,有了上面的结果之后我们开始对上面的二进制小数进行转换。

二进制小数转十进制

二进制转十进制采用的是先把二进制小数按加权系数形式展开,再相加之后得到其十进制值。

整数部分
( 100101 ) 2 = 1 ∗ 2 5 + 0 ∗ 2 4 + 0 ∗ 2 3 + 1 ∗ 2 2 + 0 ∗ 2 1 + 1 ∗ 2 0 = 37 (100101)_2 = 1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0=37 (100101)2=125+024+023+122+021+120=37
小数部分
( 1101 ) 2 = 1 ∗ 2 − 1 + 1 ∗ 2 − 2 + 0 ∗ 2 − 3 + 1 ∗ 2 − 4 = 0.8125 (1101)_2 = 1*2^{-1}+1*2^{-2}+0*2^{-3}+1*2^{-4} =0.8125 (1101)2=121+122+023+124=0.8125
那么我们就得出了这个二进制小数的十进制形式37.8125
我们在将上面两式整合就得到了
( 100101 ) 2 . ( 1101 ) 2 = 1 ∗ 2 5 + 0 ∗ 2 4 + 0 ∗ 2 3 + 1 ∗ 2 2 + 0 ∗ 2 1 + 1 ∗ 2 0 + 1 ∗ 2 − 1 + 1 ∗ 2 − 2 + 0 ∗ 2 − 3 + 1 ∗ 2 − 4 = 37.8125 (100101)_2 . (1101)_2=1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0+1*2^{-1}+1*2^{-2}+0*2^{-3}+1*2^{-4} = 37.8125 (100101)2.(1101)2=125+024+023+122+021+120+121+122+023+124=37.8125

十进制小数转二进制

十进制转二进制同样需要将整数部分和小数部分分开进行处理,再拿上述数字37.8125举例

先处理整数部分37
整数部分的处理方式是使用短除法,对整数除二取余,余数倒序排列得到的就是其二进制形式。
在这里插入图片描述
由上图短除法后得到整数部分的二进制形式
( 37 ) 10 = ( 100101 ) 2 (37)_{10} = (100101)_2 (37)10=(100101)2

再处理小数部分0.8125
小数部分的处理方式是对小数部分乘2取整,再去小数部分继续乘2取整,直到得到所需的位数或精度位置。

0.8125 ∗ 2 = 1.625 0.8125 *2 = 1.625 0.81252=1.625 取整数部分1 留小数部分0.625
0.625 ∗ 2 = 1.25 0.625 *2 = 1.25 0.6252=1.25取整数部分1 留小数部分0.25
0.25 ∗ 2 = 0.5 0.25 *2 = 0.5 0.252=0.5取整数部分0 留小数部分0.5
0.5 ∗ 2 = 1.0 0.5*2 = 1.0 0.52=1.0 取整数部分1 留小数部分0

将取得的整数部分顺序排列得到小数部分 ( 1101 ) 2 (1101)_2 (1101)2

完成上述工作后,将整数部分小数部分相接的到37.8125的小数部分
( 37.8125 ) 10 = ( 100101.1101 ) 2 (37.8125)_{10} = (100101.1101)_2 (37.8125)10=(100101.1101)2
完成转换。

  • 13
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值