『2進数』と『10進数』の違いとは!?

Technology-background-blue-futuristic-abstract


「世の中には10種類の人間がいる。2進法を解する人とそうじゃない人だ。」

↑は、プログラマーが使うジョークのひとつです。
これを読んで「何のことだろう??」と思った人は、ジョークの中にあるように2進法(進数)をよく理解できてないということです。

ぼくらが毎日利用しているスマートフォンやパソコンなどの電子機器は、0と1だけで構成される2進数が大切な役割を果たしています。

2進数について簡単にまとめていますので、マメ知識として覚えておきましょう。




『2進数』と『10進数』の違い

Future technology, touchscreen display interface. Handsome African American

Future technology, touchscreen display interface. Handsome African American/PHOTO: iStock by Getty Images

私たちが、日常生活でよく使うのが10進数です。

0,1,2,3…10。
このように、「0」から「9」までの10個の数字を使って数を表現します。

メートル法などでも用いられていて、我々の生活と馴染みの深い概念です。
人間にとっては、最も理解しやすい数え方となっています。

それに対してコンピュータの内部でもっぱら使われているのは、「0」と「1」の2つの数字しか使わない2進数という数え方です。

コンピュータが計算したり記憶したりするためには、トランジスタが使われています。

このトランジスタは、

  • 電気が流れる状態=「1」
  • 電気が流れない状態=「0」

と定義して様々な処理を行っています。

また「1」と「0」の2つの値を取る基本単位を、ビットと呼びます。
ビットの値を保持する十分な数のトランジスタがあれば、コンピュータはどんな値でも創り出すことができます。

人間にとって都合のよい数え方は10進数、コンピュータにとって都合のよい数え方は2進数、という風に理解しておきましょう。



10進数表記と2進数表記

Architect building city

Young architect building city on digital interface/
PHOTO: iStock by Getty Images

10進数の0から10までは「0,1,2,3…10」ですが、2進数では一体どのように表現するのでしょうか!?
簡単な2進数表記を、表にまとめてみました。

10進数 2進数
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010

ここまで読んでもらえれば、最初のプログラマーのジョークの意味も理解できますね。
「10」は2進数だと「2」という意味です。

「世の中には10種類の人間がいる。2進法を解する人とそうじゃない人だ。」

↑これは、世の中に

  1. 2進法を理解している人
  2. 2進法をよくわかってない人

の2種類の人間がいるということを、ちょっと皮肉を交えて表現しているのでしょう。

テクノロジーは、もはや我々の日常生活に欠かすことができなくなってきています。
今回ご紹介した「2進数」。
これからの時代は一般教養として、基礎だけでも覚えておくことをオススメします。

SourceNote

現在『ビジュアル版コンピューター&テクノロジー解体新書』という本を読んでいます。

その名のとおり、コンピュータやテクノロジーに関する基礎知識や仕組みなどがイラスト入りで丁寧に解説してあります。
値段は3000円近くするのですが、非常にオススメの書籍です。

興味がある人は、ぜひ読んでみて下さい。
※この記事は、18−19ページの「コンピューターが記憶する仕組み」の内容を一部引用してあります。

コンピューター&テクノロジー解体新書
ロン・ホワイト Ron White
SBクリエイティブ
売り上げランキング: 16,401

Technology-background-blue-futuristic-abstract