Java 10進数バイナリ

1. 10 進数を 2 進数に変換します

原則: 商が 0 または 1 になるまで、指定された数値を循環的に 2 で割ります。各ステップの除算結果の余りを記録し、対応するバイナリを逆に取得します。

たとえば、8 を 2 進数に変換すると、最初の 2 による除算は 4 (剰余 0)、2 回目の 2 による除算は 2 (剰余 0)、3 回目の 2 による除算は 1 (剰余 0)、最後の剰余は 1 となり、次に得られる剰余は 0 0 0 1 となります。

逆に言えば、1000です。コンピュータの内部表現のバイト長は、8ビット、16ビット、32ビットなど固定です。したがって、上位埋め込みでは、Java のバイトコードは 8 ビットなので、上位埋め込みは 00001000 になります。

書き方(8) 10 = (00001000) 2;

package sourceCode.hashMap;

public class mapHashCodeTest {
    
    
    public static void main(String[] args) {
    
    
        String str = toBinary(8);
        System.out.println(str);
        //运行结果:1000
    }

    static String toBinary(int num) {
    
    
        String str = "";
        while (num != 0) {
    
    
            str = num % 2 + str;
            num = num / 2;
        }
        return str;
    }

}

2. 2進数を10進数に変換します

計算も非常に簡単で、例えば8を2進数で表現すると00001000なので上位の桁を除いて1000となりますが、このとき一の位(一の位は0で順番に押し戻す)と対応する桁の数値を掛けて2の累乗を計算し、その値を加算します。

したがって、(2の0乗)*0+(2の1乗)*0+(2の2乗)*0+(2の3乗)*1 = 8となります。

コード実装。Integer.parseInt("",2); を直接呼び出します。

 System.out.println(Integer.parseInt("1000",2));

走行結果:8

Supongo que te gusta

Origin blog.csdn.net/klylove/article/details/122167864
Recomendado
Clasificación