2進数と論理回路
なぜコンピュータは0と1だけで全部表せるのか。スイッチのオンオフという正体から、2進数⇄10進数の変換、AND・OR・NOTの論理回路まで10分で。
make sense 編集部 ・ 公開 2026/6/17
私たちは指が10本あるので、0〜9の 10進数 を自然に使います。 でもコンピュータの体は無数のスイッチ。オン(1)とオフ(0)の2つしかありません。 だから 2進数(0と1だけの数え方)が、コンピュータの母国語なんです。
2進数ってどう数えるの?
10進数は「9の次でケタが上がる」。2進数は 「1の次でもうケタが上がる」 だけです。
| 10進数 | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| 2進数 | 0 | 1 | 10 | 11 | 100 | 101 |
「2でケタ上がり」と思えば怖くありません。各ケタの 重み も、10進数が 1, 10, 100… と10倍ずつなのに対し、2進数は 1, 2, 4, 8, 16… と2倍ずつ になります。
2進数→10進数はどう変換する?
「立っているケタ(1のケタ)の重みを足すだけ」です。たとえば 2進数の なら、
のあるケタの重みだけ拾って 。それだけ。 下のスライダーを動かして、1のビット(光っている所)の重みを足すと10進数になる 感覚を体で確かめてみてください。
2進数 01001011 = 64 + 8 + 2 + 1 = 75
ビットをタップすると 0/1 が切り替わります。光っているビットの「重み」を足すと10進数。
ビットをタップして 0/1 を切り替えると、式と数がリアルタイムで変わります。 「2進数は、重みのスイッチを足し合わせているだけ」――これが腑に落ちれば勝ちです。
10進数→2進数はどう変換する?
逆向きは 「2で割って、余りを下から並べる」。 を変換してみます。
13 ÷ 2 = 6 余り 1 ┐
6 ÷ 2 = 3 余り 0 │ 余りを
3 ÷ 2 = 1 余り 1 │ 下から上へ
1 ÷ 2 = 0 余り 1 ┘ 読む
余りを 下から上へ 読んで 。検算すると 。ちゃんと戻りました。
情報の量はどう数える? ― ビットとバイト
2進数の1ケタ(0か1)を 1ビット と呼びます。これが情報の最小単位。 ビットが増えると、表せるパターンは倍々に増えていきます。
| ビット数 | 表せるパターン |
|---|---|
| 1 ビット | 通り |
| 2 ビット | 通り |
| 8 ビット | 通り |
8ビット=1バイト。「 ビットなら 通り」はテストでも超頻出なので押さえておきましょう。 文字も色も音も、結局はこの“パターン”に番号をふって表しているだけです。
0と1で「計算」する仕組みは? ― 論理回路
0と1を表せても、計算できなければ意味がありません。そこで登場するのが 論理回路。 基本は3つだけ。入力と出力を一覧にした 真理値表 で覚えます。
- AND(論理積):両方が1のときだけ1(「両方そろえば」)
- OR(論理和):どちらかが1なら1(「どちらかあれば」)
- NOT(否定):0と1をひっくり返す
| A | B | A AND B | A OR B |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
ANDは 直列のスイッチ(両方ONで初めて電球が光る)、ORは 並列のスイッチ(どちらかONで光る) とイメージすると一発です。NOTは「ONを入れるとOFFが返ってくる」あまのじゃくスイッチ。 この3つの組み合わせだけで、足し算も、やがてはCPUのすべての計算も作れてしまいます。
これで「0と1で表す」「0と1で計算する」がそろいました。 でも、計算の“手順”をどう組み立てれば、目的の答えにたどり着けるのか? 次回は問題を解く段取り=アルゴリズムの基本 に進みます。
よくある質問
- Q. なぜコンピュータは2進数を使うの?
- A. 中身が電気のオン(1)・オフ(0)でできた無数のスイッチだからです。状態が2つだけなら多少電圧がブレても誤りにくく、回路もシンプルになります。
- Q. 8ビットで何通り表せる?
- A. 2の8乗で256通りです。1ビットで2通り、ビットが1つ増えるごとにパターンは倍々に増えます。
- Q. 論理回路の基本ゲートは?
- A. AND(両方1で1)・OR(どちらか1で1)・NOT(0と1を反転)の3つです。この組み合わせだけで、足し算をはじめあらゆる計算が作れます。
次に読む
この勢いで、もう1本いっとこう。
アルゴリズムの基本 →