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就是玩的。。。