BIN2DEC関数 2進数を10進数に変換する

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

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

書式

BIN2DEC(数値1)

1 - 数値 ----- 変換する2進数を指定します。数値に指定できる文字数は10文字(10 ビット)までです。数値の最上位のビットは符号を表します。残りの9ビットは数値の大きさを表します。負の数は2の補数を使って表します。


解説

例えば、セルに図の様な値が入力されているとします。
Excel関数
セルB1に「=BIN2DEC(A1)」を入力します。
Excel関数
セルA1の値が10進数に変換されます。
Excel関数
セルB2に「=BIN2DEC(1111111111)」を入力します。
Excel関数
2進数の「1111111111」が10進数に変換されます。
Excel関数
ここで、なぜ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


関連する関数

DEC2BINBIN2HEXBIN2OCT