在java.lang.Double,有以下常量声明:
public static final double MAX_VALUE = 0x1.fffffffffffffP+1023;
public static final double MIN_NORMAL = 0x1.0p-1022;
Run Code Online (Sandbox Code Playgroud)
有什么P用?区别重要吗?
我知道L,D并F用于Longs,Doubles和Floats,但从未见过P以前.
例如,在Java中,这是十六进制数0x10.
0x10.2P2 是一个正确的十六进制双.
但为什么0x1f.2不正确呢?为什么我们不能使用它,虽然0x1f.2P1应该给出相同的结果,但它有效吗?