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進数で表すとどのようになるのかは、このページの最後に対照表を載せておきました。

サンプル

では簡単なサンプルで試してみます。

JSample6_1.java

class JSample6_1{
  public static void main(String args[]){
    System.out.println(012);
    System.out.println(0x5F);
  }
}

コンパイル後に実行すると次のように表示されます。

p6-1

8進数や16進数で表記した場合でも、単に出力した場合は10進数に換算した値で出力されます。

対照表

10進数と8進数や16進数の対照表を少し掲載しておきます。

10進数8進数16進数
1010x1
2020x2
3030x3
4040x4
5050x5
6060x6
7070x7
80100x8
90110x9
100120xA
110130xB
120140xC
130150xD
140160xE
150170xF
160200x10
170210x11
180220x12
190230x13
200240x14

( Written by Tatsuo Ikura )