6.3.6 數制轉換
要求:將十進制數字轉換為二進制數字。
在前面介紹過,十進制數字轉換為二進制數字時一般使用除二取余法,該方法很規則,在程序中可以通過循環實現,在程序中只需要把得到的數字存儲起來即可。
實現思路:將除二取余得到的第一個數字存儲在數組中第一個元素,第二次得到的余數存儲在數組中第二個元素,依次類推,最後反向輸出獲得的數字即可。
實現代碼如下:
int n = 35;
int[] m = new int[32];
//拆分數字
int num = 0;
while(n != 0){
m[num] = n % 2;//存儲余數
num++; //拆分數字增加1
n /= 2; //去掉余數
}
//輸出拆分後的數字
for(int i = num - 1;i >= 0;i--){
System.out.print(m[i]);
}
System.out.println();
在該代碼中,因為int是32位的,所以最多需要長度是32的數組即可。在存儲時把拆分出的第一個數字,也就是二進制的低位,存儲在數組的第一個元素,num代表拆分出的數字的個數以及數組下標,一直拆分到n的值為零時結束。循環結束後,因為拆分出來的數字個數是num,所以只需要反向輸出數組中0到num-1下標的元素即可。