Home » Excel(エクセル)の関数・数式の使い方 » 数学 » Excelで10進数を2進数に-DEC2BIN関数

Excelで10進数を2進数に-DEC2BIN関数

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「エクセル 2進数 変換」
「excel 10進数を2進数」
「エクセル 10進数→2進数」
といった検索でのアクセスが、結構あることに気づきました。

[スポンサードリンク]

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

DEC2BIN関数を使えば、10進数を2進数に変換できます。

▼操作概要:10進数を2進数に変換する
※A1セルに入力された10進法の数値を2進数に変換する例
B1セルに
  =DEC2BIN(A1)
という数式を入力する

A1セルに「1」が入力されていれば「1」
A1セルに「255」が入力されていれば「11111111」
A1セルに「256」が入力されていれば「100000000」
といった値がB1セルに表示されます。

DEC2BIN関数の第2引数には桁数(ビット数)を指定することができ、
  =DEC2BIN(A1, 8)
という式になっているときに
A1セルに「1」が入力されていれば「00000001」
という値がB1セルに表示されます。

ちなみにこのタイプの関数は、2003以前のExcelでは[分析ツール]アドインの組み込みが必要でしたが、2007以降は標準で使えるようになっています。

512以上の数値を2進数に変換する

DEC2BIN関数で扱えるのは、511(9ビット)までですから、A1セルに512以上の数値を入力した場合には#NUM!エラーが発生します。

そのため、
「エクセル 10進数 2進数 変換 512以上」
という検索キーワードでのアクセスもあります。

その場合、以下のような数式です。

▼操作概要:10進数を2進数に変換する
※A1セルに入力された10進法の数値を2進数に変換する例
B1セルに
  =DEC2BIN(INT(A1/2^9), 9)
   & DEC2BIN(MOD(A1, 2^9), 9)
という数値を入力する

512以上の部分(INT(A1/2^9))と、511以下の部分(MOD(A1, 2^9), 9)を、それぞれDEC2BIN関数で2進数にして、文字列連結演算子「&」で結合しています。
この式なら、262,143(18ビット)まで変換できます。

512以上の部分(DEC2BIN(INT(A1/2^9), 9))は、割り算の整数部分だけを返すQUOTIENT関数を使って、

  =DEC2BIN(QUOTIENT(A1, 2^9), 9)
   & DEC2BIN(MOD(A1, 2^9), 9)

としても同じです。
私はQUOTIENT関数を見慣れていないこともあってでしょうか、演算子「/」とINT関数を組み合わせた、先の式のほうが理解しやすく感じます。

18ビットよりも、キリのいい桁数にしたいということであれば、

  =DEC2BIN(INT(A1/2^8), 8)
   & DEC2BIN(MOD(A1, 2^8), 8)

という数式で、65,535(16ビット)までいけます。

もっと大きな数値も、ということであれば、

  =DEC2BIN(INT(MOD(A1, 2^24)/2^16), 8)
   & DEC2BIN(INT(MOD(A1, 2^16)/2^8), 8)
   & DEC2BIN(MOD(A1, 2^8), 8)

という数式にすれば、「16,777,215」(24ビット)までいけます。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 数学 » Excelで10進数を2進数に-DEC2BIN関数

「数学」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.