类似于如何定义十六进制或八进制的整数常量,我可以用二进制来完成吗?
我承认这是一个非常简单(和愚蠢)的问题.我的谷歌搜索空洞.
好吧,我现在已经用Java编程了三年的时间,并认为自己非常有经验.但是,在查看Java SE源代码时,我碰到了一些我没想到的东西:
在class Double:
public static final double MIN_NORMAL = 0x1.0p-1022; // 2.2250738585072014E-308
public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324
Run Code Online (Sandbox Code Playgroud)
我没想到这一点,也无法找出它的含义.如果你不知道,我指的是p和P是这些数字后,减法运算符之前.我知道你可以使用后缀来迫使数是一个double,long,float等等,但我从来没有遇到过p或P.我检查了Java API,但没有提到它.某处是否有完整的Java原始数字文字修饰符列表?有人都知道吗?
作为参考,下面是我使用或遇到的那些,其目的是以粗体标记我的问号(#代表相应限制内的任意数字):
后缀:
# = 32位整数 int#L = 64位整数 long#l=另一个64位整数l?#f = 32位浮点 float#F=另一个32位浮点float?#d = 64位浮点 double#D=另一个64位浮点double?#e# =科学记数法 …