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
主要メソッド
戻値型 | メソッド | 説明 |
---|---|---|
String | Integer.toBinaryString(int i) | 数値iを2進数表記の文字列で返す |
String | Integer.toOctalString(int i) | 数値iを8進数表記の文字列で返す |
String | Integer.toHexString(int i) | 数値iを16進数表記の文字列で返す |