![](/img/trans.png)
[英]How to convert negative numbers and numbers with decimal point , in binary, hexadecimal, octal, decimal
[英]How we can write binary, octal and hexadecimal literals of floating point numbers in Java?
我们如何在 Java 中编写浮点数的二进制、八进制和十六进制文字? 无论是在科学上还是在正常表示中。
class First
{
public static void main(String[] args)
{
double b = 0x12p3;
System.out.println(b);
}
}
以上程序结果 144.0
class First
{
public static void main(String[] args)
{
double b = 0x12e3;
System.out.println(b);
}
}
以上程序结果4835.0
class First
{
public static void main(String[] args)
{
double b = 0x12e3;
System.out.println(b);
}
}
以上程序结果4835.0
class First
{
public static void main(String[] args)
{
double b = 012e3;
System.out.println(b);
}
}
以上程序结果 12000
请解释以上输出。
第一个例子是一个 HexadecimalFloatingPointLiteral,(16+2)*8 = 144。
第二个和第三个例子实际上是一个 HexIntegerLiteral 分配给一个 double 变量,1*16*16*16 + 2*16*16 + 14*16 + 3 = 4835。请注意,'e' 只是 14 的十六进制数字.
最后一个例子是一个 DecimalFloatingPointLiteral,12 * 1000。
Java 不支持八进制浮点文字。
有关所有详细信息,请参阅 JLS: https : //docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.