Floating point 如何获得第n个双精度数字

Floating point 如何获得第n个双精度数字,floating-point,double,Floating Point,Double,我相信大家都知道,浮点数在二进制中不是浮点数。事实上,它们以二进制形式存储在一个系统中,其中每个32或64位数字对应于某个浮点数。特别是关于双字精度浮点数,我可以在任何编程语言中获得第n个双精度数。如中所述,在任何编程语言中是否有一种方法/函数允许我输入253并获得二进制存储为111111 01的双精度值?这是一个Java测试程序,我想它可以满足您的需要Double.longBitsToDouble(in)返回由与中的相同的位模式表示的双精度 public class Test { publ

我相信大家都知道,浮点数在二进制中不是浮点数。事实上,它们以二进制形式存储在一个系统中,其中每个32或64位数字对应于某个浮点数。特别是关于双字精度浮点数,我可以在任何编程语言中获得第n个双精度数。如中所述,在任何编程语言中是否有一种方法/函数允许我输入
253
并获得二进制存储为
111111 01
的双精度值?

这是一个Java测试程序,我想它可以满足您的需要
Double.longBitsToDouble(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

谢谢,这正是我想要的。