我正在读一本关于Java的书,我发现以下几点不清楚,请帮助我:
对于除了基数10(0b,0,0x)以外的任何基数表示的整数文字,我们可以使用代表Long的L后缀吗?
对于浮点数,我们可以使用除十进制以外的任何其他基数吗?如果是,我们可以使用F或D指定浮点数或双倍除10以外的其他基数吗? 如果是,其他基数超过10,我们可以使用科学记数法还是只允许小数点?
答案 0 :(得分:2)
1)是的,它也可能是十六进制,八进制和二进制。见jls-3.10.1
2)是的,您可以使用十六进制表示法,但是您只能使用二进制指数并指定指数必需。见jls-3.10.2
示例:
0xFF.Ap0d
0xFF.1p0f
0xFF.Ap1d
0xFF.Ap-1f
0xFF.Ap-1
0x.1p16
如果使用System.out.println
打印这些文字,则会得到:
255.625
255.0625
511.25
127.8125
63.90625
4096.0
二进制指数的含义如下:
p
或P
前面的值乘以2^z
,其中z
是p
之后的整数(或P
})。整数采用十进制格式。例如。 0xFF.1Ap0101d
代表255.1015625 * 2^101
。