Java 2的平方根的小数部分的前64位

Java 2的平方根的小数部分的前64位,java,Java,我有StringIndexOutOfBoundsException,因为strig只有52位长。但是,我想要2的平方根的分数部分的前64位。不幸的是,您忘记了一件重要的事情 64位双精度由52位分数和指数组成 这就是为什么二进制字符串的长度只有52位 进一步阅读: 为了获得前64位,您可以尝试执行多精度运算的数学库,并获得结果 别担心。你的问题答案是否定的,这是合理的,但它表明你没有学习家庭作业:)(或者你上课时睡着了) 再见。不幸的是,你忘了一件重要的事 64位双精度由52位分数和指数组成 这

我有StringIndexOutOfBoundsException,因为strig只有52位长。但是,我想要2的平方根的分数部分的前64位。

不幸的是,您忘记了一件重要的事情

64位双精度由52位分数和指数组成

这就是为什么二进制字符串的长度只有52位

进一步阅读:

为了获得前64位,您可以尝试执行多精度运算的数学库,并获得结果

别担心。你的问题答案是否定的,这是合理的,但它表明你没有学习家庭作业:)(或者你上课时睡着了)


再见。

不幸的是,你忘了一件重要的事

64位双精度由52位分数和指数组成

这就是为什么二进制字符串的长度只有52位

进一步阅读:

为了获得前64位,您可以尝试执行多精度运算的数学库,并获得结果

别担心。你的问题答案是否定的,这是合理的,但它表明你没有学习家庭作业:)(或者你上课时睡着了)


再见。

试试BigDecimal-它具有任意计算精度。

试试BigDecimal-它具有任意计算精度

 double i=Math.sqrt(2);
 double fpart=i-(long)i;

 String s=String.valueOf(fpart);
 s=s.substring(2, s.length()-1);

 Long b=Long.parseLong(s);
 System.out.println(Long.toBinaryString(b));

 System.out.println(Long.toBinaryString(b).substring(0, 63));