八進法(はっしんほう、)とは、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)との対比も示す。
+単位分数の小数換算値素因数分解八進分数八進小数六進小数十進小数十進分数21/20.40.30.51/231/30.2525…0.20.3333…1/321/40.20.130.251/451/50.1463…0.1111…0.21/52×31/60.12525…0.10.1666…1/671/70.1111…0.0505…0.142857…1/721/100.10.0430.1251/831/110.0707…0.040.1111…1/92×51/120.06314…0.0333…0.11/10
計算表 + 加算表 + 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 10 2 2 3 4 5 6 7 10 11 3 3 4 5 6 7 10 11 12 4 4 5 6 7 10 11 12 13 5 5 6 7 10 11 12 13 14 6 6 7 10 11 12 13 14 15 7 7 10 11 12 13 14 15 16
+ 乗算表 × 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 2 0 2 4 6 10 12 14 16 3 0 3 6 11 14 17 22 25 4 0 4 10 14 20 24 30 34 5 0 5 12 17 24 31 36 43 6 0 6 14 22 30 36 44 52 7 0 7 16 25 34 43 52 61
命数法 八進命数法とは、8 を底とする命数法である。自然言語では、メキシコの北パメ語 (Northern Pame) が八進法を用いているが、近縁の中央パメ語 (Central Pame) は内部に八進法と十進法を持つ複雑な二十進法を用いている。
アメリカ・カリフォルニア州の は指自体ではなく指の股を数える八進法を用いていたが、現在は死語である。
参考文献
関連項目 2の冪 二進法 四進法 十六進法 三十二進法 六十四進法 3の冪 三進法 九進法 コンピュータの数値表現 ファイルパーミッション - 八進数として表記されることがある。