前言:
此时同学们对“c语言双精度浮点数的输入输出”可能比较着重,我们都需要知道一些“c语言双精度浮点数的输入输出”的相关资讯。那么小编在网摘上收集了一些有关“c语言双精度浮点数的输入输出””的相关文章,希望兄弟们能喜欢,咱们快快来学习一下吧!1+1=2,2-1=1?
数学中1+1=2,那2-1=1,这个是我们大家都明白的道理。但在我们C语言中,给定一个数,加上1,再减去所给定的数,结果是多少?我们就来看看。
程序示例
#include<stdio.h>int main(void){ float a,b; b = 2.0e20 + 1.0; a = b - 2.0e20; printf("%f \n",a); return 0;}
程序输出结果:
4008175468544.000000
这个是基于Dev C++编译后的结果。
那为什么会出现这样的结果?
在程序示例中2.0e20相当于2.0 * 1020,这个数值非常的大。我们定义的是float的数据类型,我们定义的这个数值已经超过float能够存储的有效数字,在这样的情况下,计算结果就存在错误。简单总结下:计算机缺少足够的小数位来完成正确的运算。
另一种情况,我们把2.0e20改为2.0e5,这个时候,计算结果就不会存在问题
#include<stdio.h>int main(void){ float a,b; b = 2.0e5 + 1.0; a = b - 2.0e5; printf("%f \n",a); return 0;}
程序输出结果:
1.000000
这个时候float就有足够的精度进行运算。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #c语言双精度浮点数的输入输出 #c语言中浮点