DEC2BIN 関数は 10 進数を2 進数に、DEC2HEX 関数は16 進数に変換する関数です。=DEC2BIN(10) は 1010、=DEC2HEX(255) は FF になります。逆に 10 進数へ戻すのが BIN2DEC・HEX2DEC です。
情報の授業や資格試験の練習、色のコード(#FF8800 など)の計算に使えます。この記事では、変換の関数の使い方を、実際の Excel で確かめた結果で説明します。
DEC2BIN・DEC2HEX・BIN2DEC・HEX2DEC 関数の書き方
=DEC2BIN(数値, [桁数])
=DEC2HEX(数値, [桁数])
=BIN2DEC(2 進数)
=HEX2DEC(16 進数)
| 引数 | 意味 |
|---|---|
| 数値 | 変換する 10 進数 |
| 桁数(省略可) | 先頭に 0 を付けてそろえる桁数 |
| 2 進数・16 進数 | 10 進数に戻す値(文字でも数でもよい) |
結果は文字として返ります(右ではなく左にそろいます)。DEC2BIN で変換できるのは -512〜511 の範囲です。
1. 10 進数を 2 進数にする
I2 に式を入れて、下へコピーします。
=DEC2BIN(A2)

5 は 101、10 は 1010、255 は 11111111、511 は 111111111 でした。
2. 10 進数を 16 進数にする
16 進数は 0〜9 と A〜F の 16 文字で表します。
=DEC2HEX(A2)

10 は A、100 は 64、255 は FF でした。色のコードの 1 つ分(赤・緑・青それぞれ 0〜255)は、16 進数の 2 桁で表せます。
3. 0 を付けて 8 桁にそろえる
2 つ目に桁数を入れると、先頭に 0 を付けて桁をそろえます。
=DEC2BIN(A2,8)

5 は 00000101、100 は 01100100 になりました。511 は 9 桁なので、桁数 8 では足りずエラーになります(下の検証)。
4. 2 進数・16 進数を 10 進数に戻す
HEX2DEC で 16 進数を、BIN2DEC で 2 進数を 10 進数に戻します。
=HEX2DEC("FF")

結果は 255 でした。2 進数の 1010 は =BIN2DEC("1010") で 10 です。
【実機で検証】DEC2BIN でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 2 進数の 1010 を 10 進数に | =BIN2DEC("1010") | 10 |
| 512 を 2 進数に | =DEC2BIN(512) | #NUM! |
| 511 を 8 桁の 2 進数に | =DEC2BIN(511,8) | #NUM! |
| -1 を 2 進数に | =DEC2BIN(-1) | 1111111111 |
| BASE で 1000 を 2 進数に | =BASE(1000,2) | 1111101000 |
| BASE で 5 を 8 桁の 2 進数に | =BASE(5,2,8) | 00000101 |
| 小文字の “ff” を 10 進数に | =HEX2DEC("ff") | 255 |
512 を DEC2BIN にすると #NUM!、511 を 8 桁にすると #NUM! になりました。DEC2BIN は 511 まで、桁数は結果の桁以上にします。
-1 は 1111111111 と 10 桁で表示されました。マイナスの数は「2 の補数」という形で表されます。
512 以上の大きな数は BASE 関数を使うと変換でき、1000 は 1111101000 でした。=BASE(5,2,8) なら 00000101 と桁もそろえられます。16 進数は小文字の “ff” でも 255 と変換できました。
よくある質問
8 進数にしたいときは?
DEC2OCT 関数(10 進数→8 進数)と OCT2DEC 関数(8 進数→10 進数)を使います。BASE 関数なら =BASE(数,8) です。
結果を数として計算に使いたいときは?
DEC2BIN の結果は文字です。足し算などに使うときは、10 進数のまま計算してから変換します。
ほかの単位の変換は?
長さ・重さ・温度などの単位は CONVERT 関数で変換できます。

コメント