一,使用查表法實現進制之間的轉換,能夠使用函數實現,代碼簡潔,效率高。
public static void trans(int num, intbase,int offset) {
// 定義數據表
char[]chs = {'0', '1', '2','3', '4','5', '6', '7','8', '9','A',
'B', 'C', 'D', 'E' };
// 定義存儲數組
char[] arr = new char[32];
// 定義標誌位
int pos = arr.length;
// 轉換
while (num != 0) {
//獲取後幾位
int temp = num & base;
//存儲
arr[--pos] =chs[temp];
//移位
num = num >>> offset;
}
// 打印輸出
for (inti =pos; i < arr.length;i++) {
System.out.print(arr[i]);
}
System.out.println();
}
這是一個定義好的轉換函數,只需要不同轉換傳入不同的參數即可。
二,主函數調用
public static void main(String[]args) {
// TODO Auto-generated method stub
// 十進制轉二進制,base爲1,offset爲1
trans(60, 1, 1);
// 十進制轉八進制,base爲7,offset爲3
trans(60, 7, 3);
// 十進制轉十六進制,base爲15,offset爲4
trans(60, 15, 4);
}
例如:將60分別轉換爲二進制,八進制和十六進制,只需要改變base和offset相應的值即可。