Javaプログラミング学習サイト ゆるゆるプログラミング

2017/05/16 公開

・16進数の代入

16進法とは、0~9、A~Fの10個の数字と6個のアルファベットを使って数を表すものです。10~15が、A~Fに対応します。一般的に使われている10進法は9の次に繰り上がるのに対して、16進法はF(15)の次に繰り上がります。下の表に10進数と16進数の対応をまとめたので参考にしてください。8進数の"F"(15)の次が"10"になっていることがわかります。

10進数 16進数
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10

次に、Javaの整数変数8進数を代入する記述の仕方を説明します。ここで説明する内容は、16進数の数の表現をそのままに変数に代入する方法です。

Javaでは、数字の先頭に"0x"(半角のゼロとエックス)を付けることで、16進数を表すことができます。Javaで、int a=0x10と記述するとaに16が代入されます。また、IntegerクラスのparseIntメソッド16進数整数を作ることができます。これは、16進数を表した文字列と、基数に16を与えると整数を得ることができます。

Integer.parseIntメソッド

public static int parseInt( String s, int radix )
■引数に指定された基数をもとにして、文字列の引数を符号付き整数として構文解析します。

  パラメータ s      : 文字列
        radix : 基数

  戻り値     指定された基数での、文字列引数で表される整数

以下が、16進数を表した値を整数型の変数に代入するJavaソースコードの例です。

Hexadecimal.java ← クリックしてダウンロードページに移動
001:    public class Hexadecimal {
002:    	public static void main(String[] args) {
003:    		// 16進数 「10」
004:    		int hex1 = 0x10;
005:    		// 16進数 「2」
006:    		int hex2 = 0x2;
007:    		// 16進数 「A」
008:    		int hex3 = 0xA;
009:    		// 16進数 「FF」
010:    		int hex4 = 0xFF;
011:    		// 16進数 「-FE」
012:    		int hex5 = Integer.parseInt( "-FE", 16 );
013:    
014:    		// 結果の表示
015:    		System.out.println( hex1 );
016:    		System.out.println( hex2 );
017:    		System.out.println( hex3 );
018:    		System.out.println( hex4 );
019:    		System.out.println( hex5 );
020:    	}
021:    }

Hexadecimal.javaの出力結果

16
2
10
255
-254

変数に代入された値を表示すると、16進数で与えた数が10進数になっていることがわかります。

■関連コンテンツ

Javaの変数 Javaで扱う変数について解説
2進数 2で繰り上がる数値表現
10進数→2進数変換 10進数表現を2進表現に
8進数の代入 8進数の代入方法について

■新着情報

2021.06.23 配列の初期値 配列の生成直後の値は?
2021.06.18 変数の初期値 変数に値を代入しないで計算

■広告

Topへ