java - 为什么 Java 中的十六进制实数需要指数

标签 java hex double decimal

例如,在 Java 中,这是一个十六进制数 0x10

0x10.2P2 是一个正确的十六进制 double 值。

但为什么 0x1f.2 不正确?为什么我们不能使用它,虽然 0x1f.2P1 应该给出相同的结果但它有效?

最佳答案

好吧,如果您的意思是为什么,我们将不得不希望其中一位负责语法的人会插话。在我看来,使指数可选不会损害解析文字的能力,但我没有详细考虑过。我所能提供的是 Java Language Specification §3.10.2需要它:

For hexadecimal floating-point literals, at least one digit is required (in either the whole number or the fraction part), and the exponent is mandatory, and the float type suffix is optional. The exponent is indicated by the ASCII letter p or P followed by an optionally signed integer.

关于java - 为什么 Java 中的十六进制实数需要指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37365652/

相关文章:

java - 列表<?扩展对象>我可以在其中存储什么?

perl - 如何在 Perl 中将十六进制转换为字符串

string - 戈兰 : verify that string is a valid hex string?

java - 如何使用 jsoup 解析 HTML 表格?

java - 使用JAVA在没有分页符的情况下在点阵打印机上打印连续纸

java - 我如何检查是否使用我的链接安装或取消了应用程序?

css - Web 颜色十六进制表示法

ios - 在带有 AND 且不带小数点的标签中显示 double

java - 打印 2 位数字,但以 6 位精度舍入

C#:按顺序生成两个限制之间的随机数