概述
浮点型数据误差
1、程序:
#include<stdio.h>
void main()
{
float f1 =1.123456789f;
float f2 =1.123456787f;
if (f1 == f2)
{
printf("f1与f2相等n");
}
else
{
printf("f1与f2不相等n");
}
/*float的精度是由尾数的位数决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终隐藏着一个“1”,由于它是不变的,故不能对精度造成影响。
float:2^23=8388608,一共七位,所以一共最多七位有效数字,但绝对能保证的为6位。故:float的精度为6~7位有效数字。*/
double db = 1.234567891011121314151617181920;
printf("%.20f",db);
/*double类型数据只能保证小数点15位是正确的,超过则会产生误差*/
getchar();
}
2、运行结果:
最后
以上就是纯情春天为你收集整理的C语言(十九)浮点型数据误差浮点型数据误差的全部内容,希望文章能够帮你解决C语言(十九)浮点型数据误差浮点型数据误差所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复