c语言中FLT_DIG和DBL_DIG是什么意思?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 10:52:26
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^R7 z#*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&%?\0 4D!(*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表示范围的文章看看.