OCT2DEC関数 8進数を10進数に変換する

関数名 OCT2DEC
分類 エンジニアリング
説明 8進数を10進数に変換する
バージョン -
カテゴリ Excel関数一覧

ここでの解説は、特に説明がない限り、Excelをインストールし、初期設定のまま使用した場合の動作を基に解説しています。

書式

OCT2DEC(数値1)

1 - 数値 ----- 変換する8進数を指定します。数値に指定できる文字数は10文字(30ビット)までです。


解説

セルA1に「=OCT2DEC(25)」を入力します。
Excel関数
8進数の「25」が10進数に変換されます。
Excel関数
セルA2に「=OCT2DEC(7777777533)」を入力します。
Excel関数
8進数の「7777777533」が10進数に変換されます。
Excel関数
ここで、なぜ8進数の「7777777533」が10進数の「-165」になるのか見ておきましょう。

計算方法は以下の通りです。

10桁の8進数「7777777533」は、2進数で30桁の「1111....01011011」です。
10進数では通常、数字の先頭に「-」を付けることで負の数を表現します。
2進数の場合、左から数えて1文字目を「1」にすることで負の数を表現します。(「0」の場合は正の数です。)
OCT2DEC関数に指定できる文字数は10文字です。
「7777777533」は10文字であり、2進数に変換した場合、左から数えて1文字目は「1」です。
つまり、この値は負の数であることが分かります。
2進数に変換した場合の、2文字目~30文字目は値の大きさです。
負の数の場合は、2の補数を使って値の大きさを表しています。

では、2の補数を使って表現された2進数「1111....01011011」を10進数に変換してみましょう。

1を減算します。(1の補数)

1111....01011011

1111....01011010

各ビットを反転させます。

1111....01011010

0000....10100101

2進数「10100101」を10進数に変換し、「165」となります。
「7777777533」は10文字であり、2進数に変換した場合、左から数えて1文字目は「1」でしたので、結果は負の数となり、「-165」となります。


注意事項

・数値に8進数以外の値を指定すると、エラー値 #NUM! が返されます。


メモ

OCT2DEC は OCTal number to DECimal


関連する関数

OCT2BINOCT2HEX