第三章计算机进行小数运算时出错的原因

以前的我以为计算机是什么都可以做的不会出现什么错误,但我看完这一章以后我才知道,计算机在程序运行后无法得出自己想要的结果,就是十进制转换二进制时,出现了小数的情况

下边我可以通过这个例子就能看出来;

#include <studio.h>

void main() {

float sum;

int i;

sum = 0;

for(i = 1; i <= 100;i++){

sum+=0.1;

}

print f ("%f\n", sum);

}

在这个程序中我们可以看到这是一个利用for循环来实现累加和的程序,我们看到在0.1进行一百次累加和结果是10,

而运行计算机输出的结果是10.000002,这个就是我们没有考虑处理小数的机制导致不能正确运算的。

其实是因为有些十进制的小数无法转换计算机可以识别的二进制数。

小数点后四位用二进制表示时范围是0.0000-0.1111 , 只能表示0.5  0.25   0.125等数值

而0.1在计算机处理时只是一个相似值,不能得到正确的答案。

在这一章中有了解了许多计算机的许多知识,我相信在以后的学习中,通过老师推荐的书籍,讲解的学习方法,我们能对计算机更加了解,

计算机的了解我们现在还是一个皮毛,希望以后能更加努力学习,去了解计算机。

 

转载于:https://www.cnblogs.com/bug1820201063/p/10324706.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值