c语言中数据精度发生错误,C语言中浮点数精度问题分析.doc

C语言中浮点数精度问题分析

摘 要: 通过实例直观地描述了C语言中由于计算机存储数据方式的不同而造成的数据误差,并对误差产生的原因进行了分析,解读出C语言中浮点型数据的不同存储方式,最后给出几点建议。

关键词: C语言;数据精度;浮点型数据;相对误差

中图分类号: TP312 文献标识码: A 文章编号: 2095-8153(2015)03-0097-03

作者简介: 周冠方(1984-),男,郧阳师范高等专科学校组织人事部助教。

1 引言

C语言程序设计的基本数据类型包含整型和浮点型两类。在计算机中,实数特别是小数形式表示的数都是以浮点型数据来进行存储的。但是对于浮点型的数据,在进行各种运算时,因为计算机的二进制存储特性,会导致出现精度丢失的现象。这种现象直接影响到程序结果的准确性和可靠性。

2 C语言中数据类型转换带来的影响

先来看一个简单的例子:需要求解A=4/5的值,这个结果很简单,A=0.8。而在C语言中,我们写出它的计算程序:

Main()

{

Float A;

A=4/5;

Printf(“A=%f\n”,A);

Return 0;

}

结果:A=0.000000

从算法的角度来看这个程序没有问题,但是最终运行的结果却和我们的理论值完全不相符。这是为什么呢?

分析

你可能感兴趣的:(c语言中数据精度发生错误)