以前的我以为计算机是什么都可以做的不会出现什么错误, 但我看完这一章以后我才知道, 计算机在程序运行后无法得出自己想要的结果, 就是十进制转换二进制时, 出现了小数的情况
下边我可以通过这个例子就能看出来;
- #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 在计算机处理时只是一个相似值, 不能得到正确的答案.
在这一章中有了解了许多计算机的许多知识, 我相信在以后的学习中, 通过老师推荐的书籍, 讲解的学习方法, 我们能对计算机更加了解,
计算机的了解我们现在还是一个皮毛, 希望以后能更加努力学习, 去了解计算机.
来源: http://www.bubuko.com/infodetail-2934867.html