2進数・16進数を体験しよう

コンピュータは0と1だけで数を表します。ビットを押して、そのしくみを確かめてみましょう。

ビットを押すと、数が変わります

10進数
0
2進数
00000000
16進数
00
1になっているビットの重みを足すと、10進数になります。

いま表せる範囲

出題する種類を選ぶ

10進数 → 2進数

–

2進数で答えてください

正解 0 出題 0 連続 0
スコア
0
連続
0
ミス
0 / 3
この数を2進数でつくろう
–

ビットゲーム

表示された数を、ビットを押して2進数でつくります。制限時間は1問20秒、ミス3回で終了です。

2進⇔16進 変換ゲーム

2進数の4桁は、16進数のちょうど1桁。区切って考えれば、すぐに変換できます。
1問30秒、ミス3回で終了です。

2進数とは

わたしたちがふだん使っているのは10進数です。0から9までの10個の数字を使い、9の次で桁が上がって10になります。これに対してコンピュータが使うのが2進数です。使える数字は0と1の2個だけで、1の次で桁が上がって10(読み方は「イチゼロ」)になります。

コンピュータが2進数を使うのは、電気が流れているか・いないか、電圧が高いか・低いかという2つの状態が、機械にとって最も確実に区別できるからです。この0か1かの情報1つ分をビット(bit)といい、8ビットをまとめた単位をバイト(byte)といいます。

桁の重み

10進数では、右から順に1の位、10の位、100の位と、10倍ずつ大きくなります。2進数も考え方は同じで、右から順に2倍ずつ大きくなります。

桁8桁目7桁目6桁目5桁目4桁目3桁目2桁目1桁目
重み1286432168421

たとえば2進数の「10110100」は、1になっている桁の重みを足すことで10進数に変換できます。128 + 32 + 16 + 4 = 180 です。上のツールでビットを押すと、この計算がその場で確かめられます。

何通り表せるか

nビットあれば、2のn乗通りの値を表せます。

1ビット → 2通り(0〜1) 4ビット → 16通り(0〜15) 8ビット → 256通り(0〜255)

8ビット、つまり1バイトで0から255までの256通りが表せます。画像の明るさを256段階で表す、文字コードで文字に番号をふるなど、身近なところで使われている単位です。

逆に言えば、8ビットで表せるのは255までで、それより大きい数は入りません。決められた桁数に収まらなくなることを桁あふれ(オーバーフロー)といいます。何ビット使うかを決めることは、どこまでの大きさを扱えるかを決めることでもあります。

16進数とは

2進数は0と1だけで表せる反面、桁数がとても長くなります。「11111111」と書くより「FF」と書けたほうが扱いやすい。そこで使われるのが16進数です。

16進数は0〜9の数字に加えて、A・B・C・D・E・Fの6文字を使い、16個で1桁を表します。Aが10、Bが11、と続いてFが15にあたります。

10進数0123456789101112131415
16進数0123456789ABCDEF
2進数0000000100100011010001010110011110001001101010111100110111101111
10進数01234567
16進数01234567
2進数00000001001000110100010101100111
10進数89101112131415
16進数89ABCDEF
2進数10001001101010111100110111101111

2進数と16進数は相性がいい

16は2の4乗なので、2進数の4桁が16進数のちょうど1桁に対応します。この性質のおかげで、2進数と16進数は右から4桁ずつ区切るだけで変換できます。

1011 0100(2進数)→ B 4(16進数)→ B4

10進数を経由する必要がないので、慣れると暗算でも変換できます。ウェブサイトの色指定に使われる「#FF6600」のような表記も、この16進数です。RGBそれぞれを2桁ずつ、つまり8ビットで表しています。

変換のしかた

10進数から2進数へ

2で割った余りを、下から並べる方法が基本です。ただし8ビット程度であれば、大きい重みから引いていく方が速く求められます。180を例にすると、128が引ける(残り52)、64は引けない、32が引ける(残り20)、16が引ける(残り4)、8は引けない、4が引ける(残り0)、2と1は引けない。順に並べて 10110100 です。

2進数から10進数へ

1が立っている桁の重みを足すだけです。この計算は上のツールで実際に確認できます。

2進数と16進数のあいだ

4桁ずつ区切って、上の対応表に当てはめるだけです。2進数の「11010110」なら、1101 と 0110 に分けると、それぞれ D と 6 なので D6 になります。逆に16進数の「2F」を2進数に直すときは、2 が 0010、F が 1111 なので 00101111 です。左側の桁数が足りないときは0で埋めて4桁にそろえます。

16進数は身近なところで使われている

16進数は、コンピュータが扱う長い2進数を人間が読み書きするための表記として、いろいろな場面で使われています。

ウェブサイトの色指定に使う「#FF6600」は、赤・緑・青の明るさをそれぞれ8ビット(0〜255)で表し、16進数2桁ずつ並べたものです。FF は255で最も明るく、00 は0で最も暗いことを表します。

文字コードでも使われます。Unicodeでは、ひらがなの「あ」に U+3042 という番号が割り当てられています。この 3042 も16進数の表記です。

ネットワーク機器を見分けるMACアドレスは、6バイト(48ビット)を16進数2桁ずつ、区切り記号をはさんで並べたものです。

ファイルの中身をのぞくときにも16進数が使われます。データはすべて0と1では、実際のファイルの中身を2進数と16進数の両方で見ることができます。

使い方

© 2026 情報ラボ ホーム カリキュラム対応表 画像のデジタル化 音のデジタル化 ラスタとベクタ 画像のビット演算 色の表し方 2進数・16進数 文字コード データはすべて0と1 パリティマジック コンピュータのしくみ 論理回路 アルゴリズム ネットワークのしくみ 電子メールのしくみ 情報システムとデータの流れ シミュレーション データの分析 機械学習 回帰と予測 クラスタリング 統計的推測 パスワードの強さ 暗号のしくみ あやしいメールを見分ける データ量の計算 データ圧縮 JPEGのくり返し保存 運営者情報・お問い合わせ プライバシーポリシー 更新履歴