2015-10-04 65 views
2

我想編寫一個將浮點數的二進制數轉換爲十進制的程序。我知道如何將正常的二進制數轉換爲十進制數,但我想將浮點數轉換爲十進制數,其尾數爲10,指數爲6.如何將浮點數轉換爲十進制的Java

同時我想用輸入來獲得增益二進制值,例如 System.out.println("Enter a binary number"); 然後使用掃描儀獲取輸入。這可能嗎?

+0

關於'尾數',你可能會發現[this](http://kipirvine.com/asm/workbook/floating_tut.htm)有用。也許[this](http://mathworld.wolfram.com/Mantissa.html)和[this](https://en.wikipedia.org/wiki/Significand)。讓混亂開始。 – DSlomer64

+0

您能否在您的問題中舉一個例子,您認爲浮點二進制數,小數和二進制數?這些定義是不明確的,因此確切地知道你的意思是什麼,以便能夠正確回答。有數字理論和Java語言規範的定義。 – hotzst

回答

2

給出一個String"101011.1011",一種方法是:

  1. 拆分使用String.split串入兩位。
  2. 使用BigInteger構造BigInteger(String s, int radix)radix == 2來獲取表示101011101110000兩個BigInteger秒。
  3. 使用BigDecimal構造函數將BigInteger轉換爲BigDecimal
  4. 劃分答案。

我不知道是否有更簡單的方法。

相關問題