gpt4 book ai didi

java - 我们如何在Java中编写 float 的二进制、八进制和十六进制文字?

转载 作者:行者123 更新时间:2023-12-01 08:47:24 26 4
gpt4 key购买 nike

如何在 Java 中编写 float 的二进制、八进制和十六进制文字?无论是在科学表述中还是在正常表述中。

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

请解释上面的输出。

最佳答案

第一个示例是十六进制FloatingPointLiteral,(16+2)*8 = 144。

第二个和第三个示例实际上是分配给 double 变量的 HexIntegerLiteral,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

关于java - 我们如何在Java中编写 float 的二进制、八进制和十六进制文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42591486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com