8進数 【octal number】 八進数 / オクタル / 8進法
概要
8進数(octal number)とは、数を書き表す方法(記数法)の一つで、基数を8(八)とした表記法のこと。アラビア数字(算用数字)の「0」から「7」までの8種類の数字を用いてすべての数を表現する。普段我々が日常的な数字の読み書きや算術に用いる位取り記数法は10進数(十進数/10進法)で、一つの桁の表現に「0」から「9」の10種類の数字を使い、各桁の左の桁が10倍、右の桁は10分の1を表している。
一方、桁が一つ左へ移動する毎に値の重みが8倍に、右へ移動するごとに1/8倍になる。すなわち、整数の右端の桁は1(80)の位、その左は8(81)の位、その左は64(82)の位、その左は512(83)の位…といった具合に各桁の重みが決まる。
例えば、8進数の「10」は10進数(十進数)における「8」を表し、「755」は、10進数では 7×64 + 5×8 + 5×1 で「493」となる。小数点以下も同様で、小数点の右隣から順に、8分の1の位、64分の1の位、512分の1の位…というように続く。
コンピュータでは数値やデータを取り扱う際に2のべき乗ごとに区切るのが都合が良いため、記数法でも2のべき乗を基数とする表現がよく用いられる。8進数もその一つだが、実用上は2進数と16進数が主に使われるため、8進数が用いられることはあまりない。
プログラミング言語の中にはコード中に数値リテラルとして8進数を記載する記法を用意しているものもある。 例えば、PythonやJavaScriptでは先頭に「0o」(ゼロオー)をつけて「0o777」のように、C言語やC++言語、Java、古いJavaScript規格では先頭に「0」(ゼロ)をつけて「0777」のように書けば8進数と解釈される。
(2023.12.13更新)