關於使用查表法實現十進制到二進制,八進制,十六進制的轉換

一,使用查表法實現進制之間的轉換,能夠使用函數實現,代碼簡潔,效率高。

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相應的值即可。


發佈了40 篇原創文章 · 獲贊 6 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章