码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-01-26 20:00:28      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:计算   nbsp   表示   通过   识别   i++   但我   不能   运算   

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

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

#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在计算机处理时只是一个相似值,不能得到正确的答案。

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

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

 

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

标签:计算   nbsp   表示   通过   识别   i++   但我   不能   运算   

原文地址:https://www.cnblogs.com/bug1820201063/p/10324706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!