c语言中FLT_DIG和DBL_DIG是什么意思?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 16:46:03
c语言中FLT_DIG和DBL_DIG是什么意思?c语言中FLT_DIG和DBL_DIG是什么意思?c语言中FLT_DIG和DBL_DIG是什么意思?计算里存放浮点型数据,并不能精确表示.这两个宏在f

c语言中FLT_DIG和DBL_DIG是什么意思?
c语言中FLT_DIG和DBL_DIG是什么意思?

c语言中FLT_DIG和DBL_DIG是什么意思?
计算里存放浮点型数据,并不能精确表示.
这两个宏在float.h头文件下面,用来说明double、float两种数据类型有效数字的位数,注意不是小数点后面的有效位数,而是所有位数.
#define DBL_DIG         15                      /* # of decimal digits of precision */
#define FLT_DIG         6                       /* # of decimal digits of precision */
float能保证的有效位数最多是6~7位,完全能保证的是6位,double是15~16位,完全能保证的是15位.
 
比如:
 float f = 123456.11111;
 printf("%f\n",f);
输出:

可以看到,超过7位之后的数字就不能保证了.
 
LZ可以去找找关于float,double表示范围的文章看看.