BIN2DEC関数 2進数を10進数に変換する
関数名 | BIN2DEC |
分類 | エンジニアリング |
説明 | 2進数を10進数に変換する |
バージョン | - |
カテゴリ | Excel関数一覧 |
ここでの解説は、特に説明がない限り、Excelをインストールし、初期設定のまま使用した場合の動作を基に解説しています。
書式
BIN2DEC(数値1)
1 - 数値 ----- 変換する2進数を指定します。数値に指定できる文字数は10文字(10 ビット)までです。数値の最上位のビットは符号を表します。残りの9ビットは数値の大きさを表します。負の数は2の補数を使って表します。
解説
例えば、セルに図の様な値が入力されているとします。
セルB1に「=BIN2DEC(A1)」を入力します。
セルA1の値が10進数に変換されます。
セルB2に「=BIN2DEC(1111111111)」を入力します。
2進数の「1111111111」が10進数に変換されます。
ここで、なぜ2進数の「1111111111」が10進数の「-1」になるのか見ておきましょう。
10進数では通常、数字の先頭に「-」を付けることで負の数を表現します。
2進数の場合、左から数えて1文字目を「1」にすることで負の数を表現します。(「0」の場合は正の数です。)
BIN2DEC関数に指定できる文字数は10文字です。
「1111111111」は10文字であり、左から数えて1文字目は「1」です。
つまり、この値は負の数であることが分かります。
2文字目~10文字目は値の大きさです。
負の数の場合は、2の補数を使って値の大きさを表します。
2の補数の計算方法は以下の通りです。
先頭ビット(1文字目)を除く各ビットを反転させます。
111111111
↓
000000000
最終ビットに1を加算します。
000000001
2進数の「1」は、10進数で「1」です。
よって、2進数の「1111111111」を10進数に変換すると、答えは「-1」となります。
セルA1の値「1100100」の場合は、7文字です。
BIN2DEC関数に指定できる文字数は10文字ですので、10文字で表すと「001100100」となります。
先頭ビットが「0」ですので、この値は正の数であることが分かります。
よって、 1100100 = 2^6 + 2^5 + 2^2 = 100 となります。
注意事項
・数値に2進数以外の値、または10文字(10 ビット)より多くの値を指定すると、エラー値 #NUM! が返されます。
メモ
BIN2DEC は BINary number to DECimal