資料シート●各科目

16進形式

http://www.infonet.co.jp/apt/March/syllabus/bookshelf/0/16mal.html




 実際にキャラクタや数を表現するのに役に立つようなビット列は、8桁とか16桁とか、どうしても長くなる。こうした長いビット列に対して、そのまま×/○を読み上げたり書いたりすると意味が分かりにくいし不便なので、16進形式(=hexadecimal=ヘキサデシマル)という、もっと簡潔な読み方(/書き方)が決められている。16進形式は、"0"〜"9"および"A"〜"F"の16種類の数字(と言えないのも混ざっているけど)を使って、ちょうど10進形式の記数のようにしてビット列を表わす形式で、8桁/16桁のビット列ならたった2桁/4桁で表現できる。
 これに対して、ビット列を○/×の棒読み(/書き)にしたものを2進(=binary=バイナリ)形式という。


ビット列の読み方
4桁のビット列の場合


 4桁のビット列は、小さい順に、それぞれ0、1、...の番号で呼ぶ(1からではなくて0から)。ただし、10〜15に当たる分はA〜Fで呼ぶ(▽図)。これによって、16(=24)種類のすべてのビット列に対して、きちんと決まった名前が定められる(これが16進形式という名前の起り)。

ビット
16進形式
××××
0
×××○
1
××○×
2
××○○
3
×○××
4
×○×○
5
×○○×
6
×○○○
7
○×××
8
○××○
9
○×○×
A
○×○○
B
○○××
C
○○×○
D
○○○×
E
○○○○
F

4桁のビット列の16進形式


ビット列の読み方
一般のビット列の場合


 よく使われるビット列は、桁数が4の倍数(8桁とか16桁とか)になっている。そこで、全体を4桁ずつに分け、そのそれぞれの部分を、△表にしたがって数字(と"A"〜"F")に読み替えて、さらに記数のようにつなげて読む(▽図)。





 ○○××にはA、××○×には2という名前がついている。したがって、以下のように読み表すことができる。

××○× ××○× 22
○○×× ××○× A2


 実は、16進形式によるビット列の呼び方は、数をビット列で表現することと関係がある。実は、自然な整数(0、1、2、...)をビット列で表わす最も自然な方式では、ビット列の呼び方を数(ただし16進形式で表記した)と見なしたものと、ビット列が意味する数とが一致するようになっている。つまり、ビット列の呼び方は、同時に、それが表わす数でもあると言える。

 16進形式で表わされているビット列の名前を読み上げる場合、棒読みにすることが多い。ただ、それでは位取りが分かりにくいので、

...千、百、十、(なし)

という位名をつけて読み上げるといい。



22:"にじゅう-に"/"に-に"
A2:"えーじゅう-に"/"えー-に"

 4の倍数桁ではないビット列(ISO符号系で使う7桁ビット列など)については、4桁ずつに区切っていくと4桁に足りない半端ができてしまう。このような長さのビット列に対しては、左端に必要なだけ×があることにしてから、4の倍数桁のビット列のつもりで読み上げる(書き下す)。この場合は、もとの桁が8桁とか16桁だと間違えられたりしないように気をつけなければいけない。



 16進形式を見ればそれだけで、そのビット列が表している情報のいろんなことが分かる。
 ビット列をの符号として使っている場合、16進形式は、そのビット列が表わす自然な整数を16進法で表わしたものと全く同じになる。16進法はふつうの10進法と(何と言うかその)感じが似ているので、特に小さい数については、ビット列で表わされている数の大きさの感じがじかに読み取れてつごうがいい。
 多くのキャラクタの符号系は、上位の桁が字の分類と対応するように工夫して決められている。だから、ビット列をキャラクタの符号として使っている場合は、16進形式が分かれば、字の種類はそこからある程度は読みとれる。たとえば、ISO符号系の場合では、▽表のようなことがらが読み取れる。

上の桁
字の種類
0
1
CR、LFなどの準キャラクタ
2
句読点、演算記号
3
数字
4
5
大文字
6
7
小文字

ISO符号系の上の桁と字の種類との対応
ただしそれぞれのグループの末尾には記号が少しずつ割り振られている


Q  コンピュータは16進法で数の計算をしているんですか?

A  違います。
 コンピュータは16進法で計算しているわけではありません。敢えて言えば2進法で計算しているという感じです。
 コンピュータというと、データやプログラムを16進形式で表わしたものがスクリーンに表示されていたり、紙に印刷されていたりするのをよく見かけます。それは、16進形式なら、ありがちな数(0〜2^16=32000ぐらいの数)や文字の符号ならたった2桁で表現でき、しかも意味が読み取りやすく、それでいて実際のビット列を思い浮かべやすいからです。
 16進形式は、情報システムの開発(たとえばプログラミング)や管理をしたりする時に、ビット列の読み書きが簡単にできるようにするためのものです。つまりコンピュータは、もともとビット列(2進形式)で表現されている数をわざわざ16進形式の記数に変換してくれているのです。

 10進形式で計算するシステムというのもなかったわけではない。この方式はBCDとよばれ、50〜60年代には(現在でも?)金銭や数量を扱う情報システムでよく使われていた。



コンピュータ


このページの記事の一部は 媒体への負荷や著作権への配慮から バージョンによっては見ていただけないことがあります

Copyleft(C) 2000-06, by Studio-ID(ISIHARA WATARU). All rights reserved.


最新更新
06-04-26