×
数値表現と基数変換

基数変換の仕組みを深く理解するためには、「桁の重み(位取り記数法)」という概念を意識することが重要です。私たちが普段使う10進数の「352」という数字は、「100の位(10の2乗)が3つ」、「10の位(10の1乗)が5つ」、「1の位(10の0乗)が2つ」集まったものとして理解しています。これと全く同じルールが、他の進数にも適用されます。
例えば、2進数の「1011」を10進数に戻す場合を考えてみましょう。右から順に、1の位(2の0乗)、2の位(2の1乗)、4の位(2の2乗)、8の位(2の3乗)となります。それぞれの桁の数字にこの「重み」を掛け算して足し合わせることで、10進数への変換が可能です。具体的には「(1 × 8) + (0 × 4) + (1 × 2) + (1 × 1) = 11」となります。この「重みを掛けて足す」というアプローチは、2進数に限らず、8進数や16進数から10進数へ変換する際にも共通して使える万能な方法です。
さらに、少数の基数変換もシステム開発では重要になります。10進数の少数を2進数に変換する場合は、整数部分とは逆のアプローチを取り、「変換先の基数(この場合は2)を掛け続け、整数部分として溢れ出た数字を上から順に並べる」という手法を用います。ただし、10進数では有限の少数(例えば0.1)であっても、2進数に変換すると無限に続く少数(循環小数)になってしまうことがあり、これがコンピュータ特有の「計算誤差(丸め誤差など)」を引き起こす根本的な原因となっています。