1.寫個程序,它讀取一個整數,並以二級制、八進制、十六進制輸出。以十六進制浮點數輸出倒數。
十進制轉二進制和轉八進制類似,所以就給出轉二進制方法。在Java中十進制轉二進制有三種方法。
第一種 除基倒取餘法
這是最符合我們平時的數學邏輯思維的,即輸入一個十進制數n,每次用n除以2,把餘數記下來,再用商去除以2...依次循環,直到商爲0結束,把餘數倒着依次排列,就構成了轉換後的二進制數。
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}
第二種:利用“移位”操作實現
public void binaryToDecimal(int n){
for(int i = 31;i >= 0; i--)
System.out.print(n >>> i & 1);
}
第三種:調用API函數
public void function1(int n){
String result = Integer.toBinaryString(n);
System.out.println(result);
}
Java中十進制轉16進制其實和十進制轉二進制差不多,只是因爲十六進制包含字母所以略微有些差異。
public static void binaryToDecimal(int n){
String str = "";
while(0!=n){
if(n%16<10){
str = n%16+str;
}else{
switch (n%16) {
case 10:
str = "A"+str;
break;
case 11:
str = "B"+str;
break;
case 12:
str = "C"+str;
break;
case 13:
str = "D"+str;
break;
case 14:
str = "E"+str;
break;
case 15:
str = "F"+str;
break;
}
}
n = n/16;
}
System.out.println(str);
}