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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 10:52:26
c语言中FLT_DIG和DBL_DIG是什么意思?
xT[KA+(dD |S)lk6R[$&VZbZh ӝ_t6VZ |g7sΞ9![Iۍé'ӓSwv;m7JK"R Ϛ3}sɡ.5g>f!ިPnlgΏ_s+Nvl7Z+Z܀)&'x;cIXlVpݼbKqWz% 9j{9xkxPu[ϼ]>„ 1|'AtzxRRTMO# 2{A>x3Re CRQe}{>3In$9^R7z#*n^ f_4*x|C+hV#\?|l,*o/Kc]V=hGB /I=aYj>.Ew(Ӣ)"̀_Irt0Jc,01݌)b$+l̲b elX78gQ* AYd^EMQa( " aA9Y$Y$ )I~V&%?\04D!(*q?'\ޛeN1ogY2v:<ӋnV멧(oYhnuznn}88?d12ab̜

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表示范围的文章看看.