Excel(エクセル)で2進数と10進数を相互変換する方法|DEC2BIN関数、BIN2DEC関数の使い方

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

Excelで2進数から10進数、10進数から2進数へ変換する関数を紹介します。

仕事で使う機会はあまりないと思われる関数ですが、コンピュータ関連の業務や学習時に活躍しそうですね。

 


BIN2DEC関数・・・2進数を10進数へ変換する

=BIN2DEC(数値)

  • 数値・・・変換したい2進数を指定。10桁(10ビット)まで。
    ※最大の10ビットを変換した際は、最上位のビットが符号として扱われて2の補数表現になる。
    -1 ~ -512 (1111111111) ~ (1000000000) の範囲内が可能

 


DEC2BIN関数・・・10進数を2進数へ変換する

=DEC2BIN(数値 , 桁数)

  • 数値・・・変換したい整数を指定(-511~511まで)
    ※負の数を指定したときは[桁数]は無視されて10ビット(10桁)の2の補数で表示される
  • 桁数・・・表示したい桁数を指定(10桁まで)[省略可]
    ※省略したときは必要最小限の桁数で表示される

 

※整数・・・少数と分数を含まない「0」とプラスとマイナスの数値
※2の補数・・・2進数の最上位ビットが符号となり残りが大きさをあらわす

 

変換できる桁数や値の大きさに限界があるので注意だにゃ

スポンサーリンク

2進数を10進数へ変換する

では、左の2進数を10進数に変換してみます。

変換後を表示するセルを選択して[関数の挿入]ボタンをクリック。

[関数の種類]を[エンジニアリング]か[すべて表示]に切り替えて「BIN2DEC」を選択して[OK]をクリック。


BIN2DEC関数・・・2進数を10進数へ変換する

=BIN2DEC(数値)

  • 数値・・・変換したい2進数を指定。10桁(10ビット)まで。
    ※最大の10ビットを変換した際は、最上位のビットが符号として扱われて2の補数表現になる。
    -1 ~ -512 (1111111111) ~ (1000000000) の範囲内が可能

 

引数の指定は、変換したいセルを指定するだけです。

=BIN2DEC(A2)

オートフィル機能を使用して下にコピーします。

後半2つの結果に注目してください。

9桁の「100000000」は「256」と普通に変換されていますが、

10桁の「1000000000」は突然マイナスになっていますね。

10桁の2進数を変換した場合は、左端のビットを符号とした2の補数に変換します。

そのため、通常の変換は9桁までと考えた方がよいですね。

スポンサーリンク

10進数を2進数へ変換する

10進数を2進数へ変換するにはDEC2BIN関数を使用します。

左の10進数を2進数へ変換してみます。

変換後を表示するセルを選択して[関数の挿入]ボタンをクリック。

[関数の種類]を[エンジニアリング]か[すべて表示]に切り替えて「DEC2BIN」を選択して[OK]をクリック。


DEC2BIN関数・・・10進数を2進数へ変換する

=DEC2BIN(数値 , 桁数)

  • 数値・・・変換したい整数を指定(-511~511まで)
    ※負の数を指定したときは[桁数]は無視されて10ビット(10桁)の2の補数で表示される
  • 桁数・・・表示したい桁数を指定(10桁まで)[省略可]
    ※省略したときは必要最小限の桁数で表示される

 

[数値]の場所には変換したいセルを指定します。

[桁数]は今回は省略します。

[OK]を押して結果が表示されたら、オートフィル機能を使用して下にコピーします。

変換できました。

後半2つがマイナスの数値を変換しています。

負の数を変換した際は最上位ビットが符号となり「2の補数」として変換されます。

 

また、変換できる数値は「-512~511」までになっています。

それ以外の数値を変換しようとした場合は「#NUM!」エラーが表示されます。

 

さらに、[桁数]の場所ですが、例えば「10」と指定すると、

下のように、その桁数に合うように左側を「0」で埋めてくれます。
※負の数は省略しても常に10桁で表示されます。

まとめ

英語で言うと

  • 2進数・・・binary
  • 10進数・・・decimal

それぞれ、

  • 2進数→10進数・・・binary-to-decimal・・・BIN2DEC
  • 10進数→2進数・・・decimal-to-binary・・・DEC2BIN

と考えると覚えやすいですね。

 

また、BIN2DEC関数を使用して10進数にする際は最大の10桁を使用すると2の補数表現になってしまうので、9桁までと考えておいた方が良いでしょう。

 

「2の補数」とか情報処理系の言葉が出てきたにゃ