的
P(或
p)表示是十六进制浮点文字,其中所述有效数在十六进制指定。
将
p被用来代替
e。您所看到的
d和
f后缀与此正交:两者
0x1.0p+2f和
0x1.0p+2d都是有效的文字(一个是type
float,另一个是type
double)。
乍看起来,
0x前缀似乎足以标识一个十六进制浮点文字,那么为什么Java设计人员选择将字母从更改
e为
p?这与
e有效的十六进制数字有关,因此将其保留会引起歧义分析。考虑:
0x1e+2
那是十六进制
double还是两个整数的
0x1e和
2?当我们改变
e到
p,模糊解决:
0x1p+2



