2進数、8進数、16進数は、どれも位取り記数法です。違うのは底です。2進数は底が 、8進数は底が 、16進数は底が です。この考え方がわかると、記号が不思議なものには見えなくなります。
どの位取り記数法でも、各位は底の累乗になっています。10進数では、各位は 、、、… です。2進数では、各位は 、、、、、… です。同じルールがどの底にも成り立ちます。
それぞれの数の体系で使うもの
2進数で使う数字は と だけです。
8進数では から までの数字を使います。
16進数では 個の記号を使います。 から に加えて、 から を表すために から を使います。
つまり、16進数の1桁は2進数の1桁より多くの情報を表せます。なぜなら、16進数の各位は の累乗ではなく の累乗で数えるからです。
いちばん大事な感覚
数は、別の底で書いたからといって値そのものが変わるわけではありません。変わるのは表し方だけです。
たとえば、10進数の は、2進数・8進数・16進数のどれで書いても同じ量です。底が違うというのは、同じ量を別の言語で表しているようなものです。
1つの重要な例: を2進数・8進数・16進数で書く
まず10進数から始めます。
これらは の累乗です。
したがって、2進数では 、、、 の位に が立ちます。
次に、この2進数表記を使って8進数にします。 なので、右から 桁ずつに区切ります。
各グループが8進数の1桁になります。
したがって、
次に16進数にします。 なので、右から 桁ずつに区切ります。必要なら先頭に を補います。
そして各グループを変換します。
したがって、
この3つはすべて同じ量を表しています。
よくある間違い
よくある間違いの1つは、底が変わると位の値も変わることを忘れてしまうことです。文字列 は、2進数・8進数・10進数で同じ意味にはなりません。
もう1つの間違いは、その底で使えない数字を使ってしまうことです。たとえば、2進数には は使えず、8進数には は使えません。
また、2進数を8進数や16進数に変換するときに、桁のまとめ方を間違えることもよくあります。右から区切り、完全なグループにならないときは先頭に を補いましょう。
これらの数の体系はいつ使うのか
2進数は、スイッチが自然に2つの状態をもつため、デジタルシステムの基本的な言語になっています。8進数と16進数は、長い2進数の並びをコンパクトに書く方法です。
この考え方を理解するのに、コンピュータサイエンスの知識は必要ありません。これらの体系は、すべての位取り記数法に共通する基本ルール、つまり値は底と位によって決まるということを学ぶのに役立ちます。
似た変換をやってみよう
を2進数・8進数・16進数に変換してみましょう。まず の累乗の和として表し、そのあと2進数の桁をまとめて残り2つの表し方を求めてみてください。