10進数から8進数への変換ツールとは?
このツールは、普段私たちが使っている10進数(基数10)を、対応する8進数(基数8)へと変換します。8進数は0から7までの数字だけを使う表記法で、3桁の2進ビットがちょうど1桁の8進数に対応するため、コンピューターの世界で古くから親しまれてきました。現在でも、Unix/Linuxのファイル権限(パーミッション)を表すchmod 755のような場面でよく目にします。
使い方
入力欄に0以上の整数を入力して送信するだけです。変換結果として8進数の文字列が表示され、確認用に元の10進数の値も併せて表示されます。なお、負の数を入力した場合は0として扱われます。
計算のしくみ
変換には「8で割り続ける」方式を用います。まず数値を8で割り、その余り(0〜7)を記録します。続いて元の数値を「商(整数部分)」に置き換え、商が0になるまで同じ操作を繰り返します。最後に得られた余りを逆順に(最後の余りから最初の余りへ向かって)並べたものが、8進数の答えになります。
$$\text{Octal} = \left(\text{Decimal}\right)_{10} = \left(\sum_{i=0}^{k} d_i \cdot 8^{\,i}\right)_{8}$$
$$d_i = \left(\left\lfloor \frac{\text{Decimal}}{8^{\,i}} \right\rfloor \bmod 8\right)$$
計算例
125を8進数に変換してみましょう。
\(125 \div 8 = 15\) 余り 5
\(15 \div 8 = 1\) 余り 7
\(1 \div 8 = 0\) 余り 1
余りを下から順に読み上げると175になります。検算:$$1 \times 64 + 7 \times 8 + 5 \times 1 = 64 + 56 + 5 = 125 \checkmark$$
よくある質問
8進数ではどの数字を使いますか? 0、1、2、3、4、5、6、7の8種類だけです。8や9という数字は存在しません。
10進数の0は8進数でどう表しますか? そのまま0です。
なぜファイル権限に8進数が使われるのですか? 各権限グループ(読み取り=4、書き込み=2、実行=1)の合計は0〜7の値に収まり、これがちょうど8進数の1桁に対応します。そのため、権限をコンパクトで読みやすく表現できるのです。