目前對小數據範圍有效,大數據範圍有瑕疵,待修改。
藍橋杯的幾道練習題是有關進制轉換的,這裏寫篇小博客記錄一下。
這裏以數據範圍不超過int爲例,所用方法皆爲Integer類。
其他進制轉十進制
用Integer.parseInt(a,b)方法,a爲其他進制的字符串表示形式,b爲其他進制,這樣轉換出來的a爲十進制。
int a = Integer.parseInt(StringOfNumber, radix);
十進制轉其他進制
用Integer.toString(i, radix)方法,i表示十進制數字,radix表示將要轉換的其他進制。
String s = Integer.toString(i, radix);
有一些特殊的方法,對應特殊的進制
//對應十進制轉二進制
Integer.toBinaryString(i);//
//對應十進制轉八進制
Integer.toOctalString(i);//
//對應十進制轉十六進制
Integer.toHexString(i);//
其他進制轉其他進制
通過另一其他進制進行中間轉換即可。
注:在題中要注意數據範圍,有可能轉換到十進制時太大,這時候要用更大的範圍,如Long