如何获得第n个双精度数

时间:2016-09-13 21:38:42

标签: floating-point double

我相信大家都知道,浮点数不会表示为二进制浮点数。实际上,它们以二进制形式存储在系统中,其中每个32或64位数字对应于某个浮点数。具体来说,参考双字精度浮点数,我可以用任何编程语言得到第n个双精度数。就像在,是否有任何编程语言中的方法/函数允许我输入253并获得以11111101形式存储为二进制文件的双精度?

1 个答案:

答案 0 :(得分:2)

这是一个Java测试程序,我认为你做了你想要的。 Double.longBitsToDouble(in)返回由与in相同的位模式表示的双精度。

public class Test {
  public static void main(String[] args) {
    testIt(0);
    testIt(253);
    testIt(-1);
  }

  public static void testIt(long in) {
    System.out.println(in + ": " + Double.longBitsToDouble(in));
  }
}

输出:

0: 0.0
253: 1.25E-321
-1: NaN