浮点型数据

作者在 2008-11-22 18:15:16 发布以下内容
C语言中的浮点型数据就是平常所说的实数,用123.3(十进制)或123e3(指数型)表示。123e3表示123×103。中间的e可大写也可小写。

浮点类型变量的分类

类型       位数            有效数字          数值范围
float      32               6~7              -3.4×10-38~3.4×1038
double                 64                                        15~16                                    -1.7×10-308~1.7×10308
long double        128                                     18~19                                     -1.2×10-4932~1.2×104932
3.4 浮点型数据的舍入误差
#include <stdio.h>
void main()
{
         float a,b;
         a = 123456.789e5;
         b = a + 20;
         printf("b=%f\na=%f\n",b,a);/*%f  是输出浮点数时指定的格式符,作用是指定该实数以小数形式输出*/
         getchar();
}
运行结果如下图

a与b的值相同显然是不正确的,原因是:a的值比20大很多,a+20理论值应该是12345678920,而一个浮点型变量只能保证的有效数字是7为,后面的的数值都是无意义的,因此并不能准确的表示该数。
默认分类 | 阅读 7567 次
文章评论,共0条
游客请输入验证码
文章归档