Shi*_*nha 14 java floating-point precision double
我试图确定双精度的最大精度是多少.在此链接中的已接受答案的注释中,在Java中保留精度为double @PeterLawrey表示最大精度为15.
你怎么决定这个?
@PeterLawrey表示最高精度为15.
这实际上不是他所说的.他说的是:
double有15位小数的精度
而他错了.它们具有15位十进制数字的精度.
任何数字中的小数位数由其日志给予基数10. 15是log 10(2 53 -1)的最低值,其中53是尾数的位数(包括隐含位),如因此,在Javadoc和IEEE 754中描述的和2 53 -1是最大可能的尾数值.实际值是15.954589770191003298111788092734到Windows计算器的限制.
将它描述为"精确度的小数位"是完全错误的.如果A 都在小数点之前,则它double
具有15个十进制数字的精度.对于具有小数部分的数字,由于十进制和二进制分数的不可通约性,您可以在十进制表示中获得多于15位的数字.