マンガで分かる Java入門講座

第3章 プログラミングの基本
3-5. 16進数

プログラムを学ぶ上で、避けては通れない「16進数」について紹介します。

● 16進数

 「16進数」は、16ごとに桁が上がる数え方です。「0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F」と桁が1つ上がります。

 16進数では「A」は10、「B」は11、「C」は12、「D」は13、「E」は14、「F」は15を表します。

表)10進数と16進数の対応
10進数01234 56789 ABCDEF
16進数01234 56789 101112131415

● 2進数、10進数、16進数

 人間は10進数を、コンピュータは2進数を使います。プログラミングでは、このそれぞれの立場で都合のよい16進数を使います。

 16進数の1桁は、2進数の4桁(4bit)で表せます。

表)16進数の1、2桁を2進数で表現
16進数2進数
F1111
FF1111 1111

 ここで、10に近い8ではなく16を使うのはなぜかと疑問を持つかもしれません。

 8進数ではなく16進数が採用されているのは、8(3bitで桁が上がる)よりも16(4bitで桁が上がる)方がコンピュータには扱いやすいからです。

 コンピュータでは、数値はメモリ上に記録されます。そして、数値に使っているメモリーのサイズを、別の場所に記録します。この際、記録用に使われる数字も、2進数で管理されます。

 2進数(2を基準とした数え方)では、2で割り切れない3よりも、2で割り切れる4の方が都合がよいです。そのため、8進数よりも16進数の方が、コンピュータにとって都合がよい数字になります。


● byte

 コンピュータの世界では「byte」という単位がよく出てきます。

 プログラムを書く場合、byteは8bit(2進数で8桁の値、2の8乗=256)になります。

 1byteで表現可能な数値を10進数で表すと「0~255」になります。

 1byteで表現可能な数値を2進数で表すと「0~11111111」になります。

 1byteで表現可能な数値を16進数で表すと「0~FF」になります。

 通常、1byteは2桁の16進数で表現されます(例:3F、FF)。


この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/05/18  更新:2013/05/18  [Permalink]