本文介紹了將 Double 轉(zhuǎn)換為二進(jìn)制表示?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我嘗試將 double 轉(zhuǎn)換為其二進(jìn)制表示,但使用此 Long.toBinaryString(Double.doubleToRawLongBits(d))
并沒有幫助,因?yàn)槲矣写罅繑?shù)字,Long 可以t 存儲它們,即 2^900
.
I tried to convert a double to its binary representation, but using this Long.toBinaryString(Double.doubleToRawLongBits(d))
doesn't help, since I have large numbers, that Long can't store them i.e 2^900
.
推薦答案
Long.toBinaryString(Double.doubleToRawLongBits(d))
似乎工作得很好.
System.out.println("0: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(0D)));
System.out.println("1: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(1D)));
System.out.println("2: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(2D)));
System.out.println("2^900: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(Math.pow(2, 900))));
System.out.println("Double.MAX_VALUE: 0b" + Long.toBinaryString(Double.doubleToRawLongBits(Double.MAX_VALUE)));
/*
prints:
0: 0b0
1: 0b11111111110000000000000000000000000000000000000000000000000000
2: 0b100000000000000000000000000000000000000000000000000000000000000
2^900: 0b111100000110000000000000000000000000000000000000000000000000000
Double.MAX_VALUE: 0b111111111101111111111111111111111111111111111111111111111111111
*/
這篇關(guān)于將 Double 轉(zhuǎn)換為二進(jìn)制表示?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!