在C语言标准库头文件float.h中定义了浮点数小数点后的有效位数 :
#define DBL_DIG 15 //双精度小数点后15位
#define FLT_DIG 6 //单精度小数点后6位
#define LDBL_DIG 19 //长双精度小数点19
注意例子中调用了C的math库的函数,这些函数的返回值是double类型。
可以看到,fabs(-5.01)的两次结果。当输出格式为小数点后16位时,结果发生了变化。
在C语言标准库头文件float.h中定义了浮点数小数点后的有效位数 :
#define DBL_DIG 15 //双精度小数点后15位
#define FLT_DIG 6 //单精度小数点后6位
#define LDBL_DIG 19 //长双精度小数点19
注意例子中调用了C的math库的函数,这些函数的返回值是double类型。
可以看到,fabs(-5.01)的两次结果。当输出格式为小数点后16位时,结果发生了变化。
本文标题:C的浮点数精度。
本文链接:https://www.haomeiwen.com/subject/ifxecctx.html
网友评论