1、使用java內部提供的方法,直接進行api的調用
public static void binaryTodecimal2(int n) {
String res = Integer.toBinaryString(n);
System.out.println(res);
// 將字符串轉換爲數字進行打印,但不建議這麼做,當爲負數時,int型的表示不了32的一個整數,另外,int的位數有大小,打印的值超出範圍就會報錯
int in = Integer.parseInt(res);
System.out.print(in + "\n");
}
2、使用“移位”操作實現:
public static void binaryToDecimal(int n) {
for (int i = 8; i >= 0; i--) {
System.out.print(n >>> i & 1);
}
}
3、除基倒取餘法
public static void binaryToDecimal1(int n) {
int t = 0; // 用來記錄位數
int bin = 0; // 用來記錄最後的二進制數
int r = 0; // 用來存儲餘數
while (n != 0) {
r = n % 2;
n = n / 2;
//原作者的方法是:bin += r * Math().pow(10, t),這樣寫報錯,就改成下面這樣了;
bin += r * Math.pow(10, t);
t++;
}
System.out.println(bin + "\n");
}