当前位置: 代码迷 >> 综合 >> 0x1.0p-1022 p是啥?
  详细解决方案

0x1.0p-1022 p是啥?

热度:27   发布时间:2023-12-13 04:59:29.0

0x1.0p-1022 p是啥?

public final class Double 里面定义的有最大和最小:

   public static final double MAX_VALUE = 0x1.fffffffffffffP+1023; // 1.7976931348623157e+308public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324

P是干啥?

首先科学计数法:把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,a不为分数形式,n为整数。这个是10进制的表述。类似: 1.9E99==1.9*10^99
0x 表示是16进制的数,那么e已经被占用了,所以必须别的被取代。然后就是P,
那么0x1.0p-1022到底怎么计算?

0x1.0p-1022=0x1.0* 2^-1022 

这里是2。为什么不是16?不知道,反正java就是玩的。。。