2016-09-13 45 views
-2

正如我敢肯定你们都知道,浮点数并不表示为二进制浮点。实际上,它们以二进制形式存储在系统中,每个32或64位数字对应某个浮点数。具体参考双字精度浮点数,我可以在任何编程语言中获得第n个双精度数。在中,是否有任何编程语言的方法/函数可以允许我输入253并以二进制形式存储为11111101的双精度值?我怎样才能获得的第n个双精度数

回答

2

下面是一个Java测试程序,我觉得你想要做什么。 Double.longBitsToDouble(in)返回由与in相同的位模式表示的double。

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 
+0

谢谢,这正是我一直在寻找。 –