HOME > 2進数、8進数、16進数を扱う

2進数、8進数、16進数を扱う

java言語で数値は普通10進数として扱われますが、あえて2進数や8進数、16進数で記述したい場合もあるかと思います。そのような場合は以下のようにします。

・8進数→数値の頭にゼロを付け、数値は0〜7で記述する
・16進数→数値の頭に「0x」を付け、数値は0〜9、a〜fで記述する

(2進数には表記がありませんが、Integer.parseIntメソッドで基数を2とすれば変換できます。)


※n進数の早見表はこちらをご覧ください。→n進数対応表

n進表記を10進数にする

「2進数、8進数、16進数表記」→「int型(10進数)」に変換するサンプルコードです。

 2進数、8進数、16進数表記を10進数に変換するサンプルコード

public class ToShinsuSample {

    public static void main(String args[]) {

        //n進数表記でint値を生成する
        int val10 = 127;     //10進数「127」
        int val2  = Integer.parseInt("01111111", 2);    //2進数「01111111」
        int val8  = 0177;    //8進数「177」
        int val16 = 0x7f;    //16進数「7f」

        //画面表示
        System.out.println(val10);
        System.out.println(val2);
        System.out.println(val8);
        System.out.println(val16);

    }

}

実行結果

 コマンドプロンプト

C:\>java ToShinsuSample
127
127
127
127

10進数をn進数表記にする

「int型(10進数)」→「2進数、8進数、16進数表記」に変換するサンプルコードです。

 10進数「127」を2進数、8進数、16進数表記に変換するサンプルコード

public class ToIntegerSample {

    public static void main(String args[]) {

        //int値を生成する
        int i = 127;

        //int値をn進数表記に変換する
        System.out.println("10進数:" + i);
        System.out.println("2進数:" + Integer.toBinaryString(i));  //2進数表記に変換
        System.out.println("8進数:" + Integer.toOctalString(i));   //8進数表記に変換
        System.out.println("16進数:" + Integer.toHexString(i));   //16進数表記に変換

    }

}

実行結果

 コマンドプロンプト

C:\>java ToIntegerSample
10進数:127
2進数:1111111
8進数:177
16進数:7f

主要メソッド

【java.lang.Integerのn進数に関する主要メソッド】
戻値型 メソッド 説明
StringInteger.toBinaryString(int i)数値iを2進数表記の文字列で返す
StringInteger.toOctalString(int i)数値iを8進数表記の文字列で返す
StringInteger.toHexString(int i)数値iを16進数表記の文字列で返す

関連項目

数値・演算カテゴリ