double小数点后最多几位_double型浮点数能精确到多少位小数?

问题2:double型浮点数能精确到多少位小数?或者,这个问题本身值得商榷?

既然double是浮点数,它的小数点的位置是“浮动”的,所以很难说double类型能精确到小数点后面几位。通常这个关于精度的问题都是通过它能表示的有效数字(十进制)的位数来表示的。遵循IEEE标准的8字节(64位)的double能表示的有效数字的位数是:15 ~ 16

测试一个:

#include

int main(){

printf("%.20lf",1.0/3.0);

}

结果:

20181015002150423714.jpg

可见在第17位小数(有效数字)处数字发生了失真,所以应该是16位

问题3:double型浮点数最大正数值和最小正数值分别是多少?(不必特别精确)

这种方法几乎算不出:

#include

int main(){

double a = 0, b = 0;

while(a<=b){

a = b;

b++;

}

printf("%f",a);

}

问题4:逻辑运算符号“&&“,”||“,”!“ 的相对优先级是怎样的?

#includ


版权声明:本文为weixin_42499332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。