8進法
8進法は「基数8」とも呼ばれ、8個の数字(0~7)を使って任意の整数を表す数の体系です。8進法の値は、バイトが8個のビットで構成されるため、コンピューターサイエンスでデータを表すのに使われることがあります。たとえば、8進法の値「10」は8ビット、つまり1バイトを表せます。「20」は2バイト、30は3バイトを表します。8進法の値は、2個の数字を使う二進法や、16個の数字を使う16進法から簡単に変換することもできます。
8進法の値を標準的な10進法、つまり「10進法」の値に変換するには、各桁に8nを掛けます。ここでnは、右から左に向かって0から始まる、その数字の位置です。その後、結果をすべて足し合わせます。したがって、8進法の123は次のように10進法の値に変換できます。
80 x 3 + 81 x 2 + 82 x 1 = 3 + 16 + 64 = 83
次の表は、8進法、10進法、16進法、2進法で表した、いくつかの等しい値を示しています。
| 8進法 | 10進法 | 16進法 | 2進法 |
|---|---|---|---|
| 1 | 1 | 1 | 1 |
| 10 | 8 | 8 | 1000 |
| 50 | 40 | 28 | 101000 |
| 100 | 64 | 40 | 1000000 |
| 1234 | 668 | 29C | 1010011100 |
2進法から8進法への変換
2進法の値を8進法の値に変換するには、右から左に向かって、数字を3個ずつのグループに分けます。次に、各グループの1または0に2nを掛けます。ここでnは、右から左に向かって0から始まる各数字の位置です。たとえば、上の表にある2進法の値1010011100を変換するには、まず数字を次のように分けます。1 010 011 100。その後、次のように値を掛けます。
- 0x1 + 0x2 + 1x4 = 4
- 1x1 + 1x2 + 0x4 = 3
- 0x0 + 1x2 + 0x4 = 2
- 1x1 + 0x2 + 0x4 = 1
結果は8進法の1234です。8進法の値は、12348のように、下付き文字の「8」を付けて表示することもあります。上の表の最下段は、下付き文字を使った表記では次のように書けます。
10100111002 = 12348 = 66810 = 29C16
知識をテストする