数值计算:二进制分数与十进制分数的转化

数值计算:二进制分数与十进制分数的转化

  整数的十进制而二进制的转化比较简单,而且任意一个整数都可以用有限长位数的二进制数来表示,而分数就不一定了。因为整数的最小间隔是1,而分数则可以是无穷小的,所以有时候有限的十进制分数会转化为无限循环的二进制小数

十进制分数转化为二进制分数

二进制的分数可以表示为2的负次幂的和,即假设R是一个正的纯小数,其可以表示为

827009-20170224110321601-326764487.png
827009-20170224110321929-2015634164.png
827009-20170224110322195-1237105180.png

为了将827009-20170224110322460-199955101.png转化为分数,我们将(1)两边都乘上2,则有

827009-20170224110322741-379254703.png

此时的827009-20170224110323241-95437163.png827009-20170224110324116-917395676.png的整数部分,即827009-20170224110324601-2134368368.png,由此可得827009-20170224110325898-901602486.png,把827009-20170224110326304-1331124884.png的小数部分记为827009-20170224110326616-1492438303.png,则

827009-20170224110326898-167833349.png

同样按照上面的步骤,将(3)两边乘上2,则有

827009-20170224110327210-1023583830.png

则有827009-20170224110327570-1115697735.png,同样,将827009-20170224110327820-1738471534.png的小数部分记为827009-20170224110328116-2062455304.png,按照上述的步骤便可依次得到827009-20170224110328491-218713534.png


下面以0.7为例子,将其转化为二进制分数

827009-20170224110328773-1010412038.png827009-20170224110329804-1066689162.png827009-20170224110330210-1423267711.png
827009-20170224110330632-255513828.png827009-20170224110334835-1930913122.png827009-20170224110335179-317478863.png
827009-20170224110336085-1999316076.png827009-20170224110336429-1548468283.png827009-20170224110336648-512049007.png
827009-20170224110336929-1340758209.png827009-20170224110337257-1630552887.png827009-20170224110337913-359753560.png
827009-20170224110338476-1359040420.png827009-20170224110338991-1561520585.png827009-20170224110339554-1112728568.png
827009-20170224110339976-544184632.png827009-20170224110340288-579790250.png827009-20170224110341070-146935231.png
827009-20170224110341366-598524899.png827009-20170224110341585-257411102.png827009-20170224110342054-670978888.png
827009-20170224110342538-497613649.png827009-20170224110342804-1116307361.png827009-20170224110343288-1983380592.png

注意到827009-20170224110343788-23485298.png,即以后的数字都是重复循环的,所以0.7转化为二进制小数位无限循环的,即827009-20170224110344210-2124863556.png

二进制分数转化为十进制分数

假如是非无限循环的二进制小数,只需代进(1)式便可以得出其对应的十进制分数,而假如是无限循环的如827009-20170224110344507-643088674.png,我们可以这么做,两边乘上32,则有

827009-20170224110345507-1926784121.png

然后在将原式两边乘上1024,则有

827009-20170224110345945-1796643015.png

上面两式相减,有

827009-20170224110346398-8865901.png

所以可得827009-20170224110346882-1320035791.png,其他的循环小数用此方法进行转化。

转载于:https://www.cnblogs.com/Vincent-Bryan/p/6437637.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值