为什么大部分小数在计算机中是不精确的

首先在计算机中数字的存储和运算都是通过二进制来进行操作的。

其次我们来说进制转换问题

十进制小数转二进制小数:

整数部分转整数部分: 辗转相除法

小数部分转小数部分:十进制的值 * 2

如果结果>1  则在二进制小数后补1

如果结果<1,则在二进制小数后补0

直到结果为1.0结束

举个例子:10.25

整数部分10:结果为1010

小数部分0.25:0.25*2=0.5;取0.  0.5*2 =1.0 取1 ;结果为1.0   结束   

所以10.25    1010.01   差不多就是这个意思

0.1 转二进制小数则为:0.000110011001100......

后续的"1100"会一直无限循环下去;

所以计算机中就无法用二进制精确的表示0.1;

那么在计算机中

大部分的小数是不精确的

(注意:是大部分,不是全部,注意我举的例子)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值