8進数

目次
8進数とは?仕組み・使い方・2進数との関係まで初心者向けにわかりやすく解説
コンピュータやLinuxを学んでいると、 「755」や「644」といった数字を目にすることがあります。
これらは8進数(はっしんすう)で表現された値であり、 特にLinuxのファイル権限などでよく使われます。
普段は10進数を使っているため、 最初は違和感があるかもしれませんが、 仕組み自体はとてもシンプルです。
本記事では初心者向けに、
- 8進数とは何か
- 基本ルール
- 2進数との関係
- 10進数との変換方法
- Linuxでの具体的な使い方
をわかりやすく解説します。
8進数とは何か
8進数とは、 0〜7の8種類の数字で表現する数の仕組みです。
そして、
8になると桁が上がる
というルールになります。
つまり、
- 10進数 → 10で繰り上がる
- 8進数 → 8で繰り上がる
という違いだけです。
8進数の数え方
実際に8進数で数を数えると、 次のようになります。
- 0(0)
- 1(1)
- 2(2)
- 3(3)
- 4(4)
- 5(5)
- 6(6)
- 7(7)
- 10(8)
- 11(9)
- 12(10)
※括弧内は10進数の値です。
「7の次が10になる」点がポイントです。
8進数の仕組み(桁の意味)
8進数も、 各桁に意味があります。
10進数では10の累乗ですが、 8進数では8の累乗になります。
- 1(8⁰)
- 8(8¹)
- 64(8²)
- 512(8³)
例えば、
157
という8進数は、
- 1 × 64
- 5 × 8
- 7 × 1
となり、
64 + 40 + 7 = 111(10進数)
になります。
8進数と2進数の関係
8進数は、 2進数と非常に相性が良い進数です。
その理由は、
2³ = 8
であるため、
2進数を3桁ずつまとめて表現できる
からです。
例:
2進数:110 101 111
これを3桁ずつ区切ると、
- 110 → 6
- 101 → 5
- 111 → 7
となり、
657(8進数)
と変換できます。
この仕組みにより、 長い2進数を短く表現できます。
10進数から8進数への変換
10進数を8進数に変換するには、 8で割り続ける方法を使います。
例:10進数「100」
100 ÷ 8 = 12 余り4 12 ÷ 8 = 1 余り4 1 ÷ 8 = 0 余り1
下から順に並べると、
144(8進数)
になります。
8進数から10進数への変換
8進数を10進数に変換するには、 各桁に8の累乗を掛けて足します。
例:144
- 1 × 64
- 4 × 8
- 4 × 1
合計:
64 + 32 + 4 = 100
Linuxでの8進数の使い方(重要)
8進数は、 Linuxでは特に重要な役割を持ちます。
代表的な例が ファイル権限(パーミッション)です。
例えば、
$ chmod 755 sample.sh
この「755」は8進数です。
それぞれの数字は、
- 7 → 読み(4)+書き(2)+実行(1)
- 5 → 読み(4)+実行(1)
- 5 → 読み(4)+実行(1)
という意味になります。
つまり、
- 所有者:すべて許可
- グループ:読み+実行
- その他:読み+実行
という設定になります。
8進数が使われる理由
8進数が使われる理由は、
- 2進数を短く表現できる
- 人間が理解しやすい
- 権限などを数値で簡潔に表現できる
といった点にあります。
初心者が理解するコツ
8進数を理解するためのポイントは、
「8で繰り上がるだけ」
と考えることです。
さらに、
- 2進数は3桁ごとにまとめられる
- Linuxでは権限に使われる
この2点を押さえると理解が深まります。
まとめ
8進数は、 0〜7の数字で表現する進数です。
- 8で繰り上がる
- 8の累乗で構成される
- 2進数を3桁単位で表現できる
特にLinuxでは、 ファイル権限(chmod)で頻繁に使われるため、 非常に重要な知識です。
2進数との関係を理解すると、 8進数は一気にわかりやすくなります。
インフラやプログラミングを学ぶ上で、 ぜひ押さえておきたい基礎知識の一つです。





