八進法と十六進法:エンジニアのための実践ガイド
二進表現はデジタル回路のネイティブ言語ですが、0と1の長い列はデバッグや設計を煩雑にします。エンジニア、技術者、プログラマ間のコミュニケーションを効率化するため、八進法(底8)と十六進法(底16)が用いられます。これらは二進法と容易に相互変換できます。
八進法は0〜7の8記号を用いる位取り重みシステムで、各桁は8の累乗を表します。十六進法はA〜Fを加え、16種類の記号(0〜9、A〜F)で各位置に16の累乗の重みを与えます。
以下は、最初の20個の十進数を4つの一般的な数値システムで並べた比較表です:
Number Decimal Binary Octal Hexadecimal ------ ------- ------- ----- ----------- Zero 0 0 0 0 One 1 1 1 1 Two 2 10 2 2 Three 3 11 3 3 Four 4 100 4 4 Five 5 101 5 5 Six 6 110 6 6 Seven 7 111 7 7 Eight 8 1000 10 8 Nine 9 1001 11 9 Ten 10 1010 12 A Eleven 11 1011 13 B Twelve 12 1100 14 C Thirteen 13 1101 15 D Fourteen 14 1110 16 E Fifteen 15 1111 17 F Sixteen 16 10000 20 10 Seventeen 17 10001 21 11 Eighteen 18 10010 22 12 Nineteen 19 10011 23 13 Twenty 20 10100 24 14
八進法と十六進法は単なる学術的興味ではなく、二進データの簡潔な短縮表記を提供します。8 = 2³、16 = 2⁴ であるため、3ビットまたは4ビットのグループをそれぞれ1桁の八進法または十六進法に直接マッピングできます。
二進法から八進法への変換
BINARY TO OCTAL CONVERSION 10110111.1₂ を八進法に変換: ステップ1:3ビットグループが完成するようゼロでパディング。 010 110 111 100 ステップ2:各グループを変換。 2 6 7 4 結果:10110111.1₂ = 267.4₈
グループ分けは二進小数点から始まり、外側へ向かって必要に応じて暗黙のゼロを追加します。
二進法から十六進法への変換
BINARY TO HEXADECIMAL CONVERSION 10110111.1₂ を十六進法に変換: ステップ1:4ビットグループが完成するようゼロでパディング。 1011 0111 1000 ステップ2:各グループを変換。 B 7 8 結果:10110111.1₂ = B7.8₁₆
逆方向の変換も同じ原理で、各八進法/十六進法桁を3ビット/4ビットの二進法に展開します。
十六進法は、一般的なデジタルデータ幅(8、16、32、64、128ビット)が4の倍数であり、4ビットの十六進法グループと整然と整合するため、より広く採用されています。八進法は3ビットグループを必要とするため、標準的なワードサイズと一致しにくいです。
関連ワークシート:
産業技術