2016-09-13 93 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

謝謝,這正是我一直在尋找。 –