天天看點

java如何将二進制轉換為十進制

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),這樣寫報錯,就改成下面這樣了,pow()方法,求取x的y次方,數值類型是double;
            bin += r * Math.pow(10, t);
            t++;
        }
        System.out.println(bin + "\n");
    }           

參考連結:

https://www.cnblogs.com/vsign/p/7290594.html