2017.05.16
16進数の代入
16進数とは
16進法とは、0~9、A~Fの10個の数字と6個のアルファベットを使って数を表すものです。10~15が、A~Fに対応します。
一般的に使われている10進法は9の次に繰り上がるのに対して、16進法はF(15)の次に繰り上がります。下の表に10進数と16進数の対応をまとめたので参考にしてください。16進数の"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では、数字の先頭に"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 : 基数 戻り値 指定された基数での、文字列引数で表される整数
Javaソースコード
Hexadecimal.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021
public class Hexadecimal { public static void main(String[] args) { // 16進数 「10」 int hex1 = 0x10; // 16進数 「2」 int hex2 = 0x2; // 16進数 「A」 int hex3 = 0xA; // 16進数 「FF」 int hex4 = 0xFF; // 16進数 「-FE」 int hex5 = Integer.parseInt( "-FE", 16 ); // 結果の表示 System.out.println( hex1 ); System.out.println( hex2 ); System.out.println( hex3 ); System.out.println( hex4 ); System.out.println( hex5 ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Hexadecimal.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Hexadecimal.java
実行
C:\talavax\javasample>java Hexadecimal
実行結果
16 2 10 255 -254