OCT2DEC関数 8進数を10進数に変換する
関数名 | OCT2DEC |
分類 | エンジニアリング |
説明 | 8進数を10進数に変換する |
バージョン | - |
カテゴリ | Excel関数一覧 |
ここでの解説は、特に説明がない限り、Excelをインストールし、初期設定のまま使用した場合の動作を基に解説しています。
書式
OCT2DEC(数値1)
1 - 数値 ----- 変換する8進数を指定します。数値に指定できる文字数は10文字(30ビット)までです。
解説
セルA1に「=OCT2DEC(25)」を入力します。
8進数の「25」が10進数に変換されます。
セルA2に「=OCT2DEC(7777777533)」を入力します。
8進数の「7777777533」が10進数に変換されます。
ここで、なぜ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