8進数、16進数で整数を表現する
整数の値はは10進数の他に8進数や16進数で表すことが可能です。
8進数で数値を表すには0で始まり0から7までの数字で数値を表します。
015 0332
16進数で数値を表すには'0x'又は'0X'で始まり0から9までの数字かAからFまでの記号(小文字のaからfでも可)で数値を表します。
0x3fa 0x55
例えば10進数で10と記述する代わりに8進数で012と記述しても16進数で0xAと記述してもプログラム的には何ら違いはありません。表記の仕方が違っているだけです。プログラムを記述する上で10進数ではなく16進数を使った方が分かりやすい場合には16進数を使って記述して下さい。
なお8進数や16進数で記述した数値が10進数で表すとどのようになるのかは、このページの最後に対照表を載せておきました。
サンプル
では簡単なサンプルで試してみます。
class JSample6_1{ public static void main(String args[]){ System.out.println(012); System.out.println(0x5F); } }
コンパイル後に実行すると次のように表示されます。
8進数や16進数で表記した場合でも、単に出力した場合は10進数に換算した値で出力されます。
対照表
10進数と8進数や16進数の対照表を少し掲載しておきます。
10進数 | 8進数 | 16進数 |
---|---|---|
1 | 01 | 0x1 |
2 | 02 | 0x2 |
3 | 03 | 0x3 |
4 | 04 | 0x4 |
5 | 05 | 0x5 |
6 | 06 | 0x6 |
7 | 07 | 0x7 |
8 | 010 | 0x8 |
9 | 011 | 0x9 |
10 | 012 | 0xA |
11 | 013 | 0xB |
12 | 014 | 0xC |
13 | 015 | 0xD |
14 | 016 | 0xE |
15 | 017 | 0xF |
16 | 020 | 0x10 |
17 | 021 | 0x11 |
18 | 022 | 0x12 |
19 | 023 | 0x13 |
20 | 024 | 0x14 |
( Written by Tatsuo Ikura )