gpt4 book ai didi

java - Double to base 2 转换(有简单的方法吗?)

转载 作者:行者123 更新时间:2023-11-30 07:11:43 25 4
gpt4 key购买 nike

您好,感谢您的帮助,

(使用 Java)我环顾四周以将 Double 转换为基数 2(仍然是 double ),但我找不到简单的方法。我读到,鉴于 Doubles 的编码方式,像 Double.doubleToRawLongBits() 这样的方法可以给出 Base 2 但有不同的解释。

使用以下方法非常简单地转换 int:Integer.toString(x, 2)

我想知道是否有人知道将 Double 转换为以 2 为基数的 Double 的简单方法?如果我在转换后有一个 Double = 0.25,我希望看到一个 double = 0.01。

谢谢

最佳答案

您可以像这样提取 double 的部分。

long val = Double.doubleToRawLongBits(d);
int sign = (int) (val >>> 63);
int exp = (int) ((val >>> 52) & 2047);
long mantissa = val & ((1L << 52) - 1);

之后,您可以使用 Long.toString(mantissa, 2) 和指数打印尾数并根据需要签名。这假设正常数字。

关于java - Double to base 2 转换(有简单的方法吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20872753/

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