八進法

八進法（はっしんほう、）とは、8 を底（てい）とし、底およびその冪を基準にして数を表す方法である。

記数法
八進記数法とは、8 を底とする位取り記数法である。八進法では、0から7までの八種類の数字を用い、八を10、九を11(八一)、十を12(八二)…と表記する。以降も、十進法16は 20 (二八)、十進法24は 30 (三八)、十進法30は 36 (三八六) となる。このように、「八が10になる」記数法が八進法であり、「一桁の数字が8まで」なのはその次の九進法である。

必要に応じ、八進記数法の表記は括弧および下付の 8、十進記数法の表記を括弧及び下付きの10 で表す。八進記数法で表された数を八進数と呼ぶ。

整数の表記も、八進法では以下のようになる。
 (13) = 15（1×8 + 5）
 (16) = 20（2×8）
 (27) = 33 (3×8 + 3)
 (32) = 40（4×8）
 (49) = 61（6×8 + 1）
 (64) = 100（1×8）
 (81) = 121（1×8 + 2×8 + 1）= (100)
 (100) = 144（1×8 + 4×8 + 4）
 (216) = 330（3×8 + 3×8）= (1000)
 (320) = 500（5×8）
 (512) = 1000（1×8）
 (729) = 1331（1×8 + 3×8 + 3×8 + 1）= (1000)
 (1000) = 1750（1×8 + 7×8 + 5×8）
 (1944) = 3630（3×8 + 6×8 + 3×8）= (13000)
 (2000) = 3720（3×8 + 7×8 + 2×8）
 (2048) = 4000（3×8 + 7×8 + 5×8 + 1）
 (2187) = 4213（4×8 + 2×8 + 1×8 + 3）= (3000)
 (2560) = 5000（5×8）
 (4096) = 10000（1×8）= (5551)
 (7776) = 17140（1×8 × 7×8 + 1×8 + 4×8 + 1）= (100000)

10となる八は2の3乗なので、二進法の 3 桁を八進法の 1 桁で表現できた。初期のコンピュータでは1文字は6ビット、すなわち八進法 2 桁であり、ワード長も6の倍数であることが多かったため（IBM 7090の36ビット・CDC 6000の60ビット・PDP-8の12ビット・PDP-7の18ビット）、八進法によって表現するのが都合よく、コンピュータ業界ではかつて八進法が広く使われた。C や Perl などでは、数の前に 0 を付けると八進数と見なされる。例えば 011 は (11) ではなく (11)8 すなわち 9 である。しかし、計算機のワード長が 8 ビット（オクテット）からなるバイトの倍数によって構成されることが一般的になると、二進数 4 桁を 1 つにまとめた十六進数のほうが切りがよいため、八進法が使われることは少なくなった。

可分性
10となる八は素因数分解すると2なので、2でしか割り切れない。即ち、1/3や1/5など奇数分割ができない。単位分数も、2の冪数以外は全て無限小数になる。素因数が複数となる六進小数（2と3）や十進小数（2と5）との対比も示す。

計算表

命数法
八進命数法とは、8 を底とする命数法である。自然言語では、メキシコの北パメ語 (Northern Pame) が八進法を用いているが、近縁の中央パメ語 (Central Pame) は内部に八進法と十進法を持つ複雑な二十進法を用いている。

アメリカ・カリフォルニア州の は指自体ではなく指の股を数える八進法を用いていたが、現在は死語である。

参考文献

関連項目 
 2の冪
 二進法
 四進法
 十六進法
 三十二進法
 六十四進法
 3の冪
 三進法
 九進法
 コンピュータの数値表現
 ファイルパーミッション - 八進数として表記されることがある。

数の表現
コンピュータの算術
数学に関する記事
位取り記数法