FE EXAM

10進数 → 8進数(8で割って余りを集める)

10進数を8進数に変換する手順は「8で割って余り(0〜7)を記録し、それを逆順に並べる」。基本は10進→2進と同じ、割る数だけが違います。

INTERACTIVE VISUALIZATION
余り (0〜7)
入力 (10進)
63
ステップ数
2
8進数 (結果)
77(8)
10進数63
プリセット
8で割って余り(0〜7)を記録。商が0になるまで続けて、余りを下から上に読むと8進数の答えになります。
STEP 1: 8で割り、余り(0〜7)を記録
#163÷ 8 =7余り
7
#27÷ 8 =0余り
7
STEP 2: 余りを逆順に並べる
余り (生成順):
7
7
↓ 逆順 ↓
8進数:
7
7
63(10) = 77(8)
解説

📌
10進→8進変換とは

10進数 → 8進数は、10進数の値を 0〜7 だけを使う8進数表記に変換する操作です。手順は10進→2進と同じで、「割る数を 2 ではなく 8 に変えるだけ」

たとえば63(10進)を8進数に変換すると77(8進)。これは「63 = 7×8 + 7」という意味です。

8進数は2進数3桁とちょうど対応する(2³=8)ので、長い2進数を読みやすく短縮する用途で歴史的に使われてきました。UNIX系のファイル権限「755」「644」も8進数表記です。

8で割って余りを集める手順

手順は3ステップ
① 元の数を 8 で割り、余り (0〜7) を書き出す
② 商を「次の割られる数」として、また 8 で割る
③ 商が 0 になるまで①②を繰り返す

63 を変換する例:
・63 ÷ 8 = 7 余り 7
・7 ÷ 8 = 0 余り 7(商が 0 で終了)

注意ポイント: 余りは必ず0〜7 の範囲に収まります。もし余りに 8 や 9 が出てきたら計算ミスです。

🔗
2進数との対応関係

8進数が情報処理で重宝されてきた最大の理由は、「2進数3桁=8進数1桁」という綺麗な対応関係があるからです。2³ = 8 なので、2進3桁で表せる組み合わせ(8通り)が、ちょうど8進1桁(0〜7)と一致します。

3ビット ↔ 8進1桁の対応表:
000 = 0、001 = 1、010 = 2、011 = 3
100 = 4、101 = 5、110 = 6、111 = 7

この対応のおかげで、「10進→2進→3桁ずつまとめて8進」という別ルートでも変換できます。2進数の暗算が得意な人はこちらの方が速いことも。

例: 63 を変換
63 = 32 + 16 + 8 + 4 + 2 + 1 = 111111(2)
右から3桁ずつ: 111 | 111
各グループを 0〜7 に: 7, 7 → 77(8)

UNIX権限との関係: ファイル権限 chmod 755 の「7=rwx」「5=r-x」も、3ビット(読み=4、書き=2、実行=1)の組み合わせを8進1桁で表現しているからこそ簡潔に書けます。

応用ポイント: 「2進数 110101 を8進数で表すといくつか?」のような場合は、右から3桁ずつ区切るだけで一瞬で求められます(110 | 101 → 65(8))。

関連コンテンツ

10進数 → 8進数 | Vizigo