Javaちょこっとリファレンス
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進数表記を10進数に変換するサンプルコード

ToShinsuSample.java
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進数表記にする

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

ToIntegerSample.java
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進数表記の文字列で返す
このエントリーをはてなブックマークに追加

数値・演算カテゴリ

HOMEへ戻る TOPへ戻る