2012-10-09 327 views
-2

如何將二進制數字轉換爲四進制數字?對於例如如果二進制是1010,那麼它在基準4中是22?我想有算法,而不是通過一些構建的函數來完成它,如果我添加一個條件,我不需要生成任何字符串作爲輸出,那又怎樣?我必須使用給定的字符串空間來做到這一點。二進制到四進制

+0

我試着從最後開始意味着最不重要的位,但是我不能在不使用額外空間的情況下做到這一點。 –

回答

2

Java的Integer類具有內置的此功能(結帳此SO answer)。它被稱爲parseInt()toString()的基數屬性。請注意,重要的是要明白,這僅限於Character類中的MINMAX基數值之間的基數值,因此不要指望將數字轉換爲基數1024而無需付出一點努力。

對於你的問題,你可以這樣做:

int value = Integer.parseInt("1010", 2); //From Binary 
String base4value = Integer.toString(value, 4); //To base 4 
2

是,1010二進制的基數爲4。這是簡單的22,因爲4是2的冪,因此轉換僅僅是10 = 2, 10 = 2 - > 22.就像一個字節是兩個十六進制數字一樣。