デジタルデータと2進数
- 著者:YAMANJO
- 公開日:2008年7月25日
- 最終更新日:2024年9月12日
コンピュータが取り扱えるのはデジタルデータのみですが、さらに厳密にみると、2進数しか取り扱うことができません。2進数とは何か、パソコンが2進数を使う理由を理解しておきましょう。
2進数とは何か
前項でアナログデータのデジタル化のプロセスを学習しました。
アナログデータは、サンプリングと量子化によってデジタル値に変換することができ、デジタルデータとなります。しかし、量子化された数値のままではコンピュータが扱うことはできません。
最後に「符号化」の行程で、数値化されたデータを「2進数」に変換する必要があります。その理由は後述しますが、どんなデジタルデータも最終的には2進数に変換されて、デジタル機器で処理されます。
まずは、2進数とは何かを理解しておきましょう。
数値と言うと、たいていの方は普段使っている0~9までの数字を思い浮かべるはずです。この0~9までの数字は「10」を基数として位が上がるため「10進数」と呼ばれています。
10進数は、9の次に新しい数字がないために、左に桁が上がり1の位の数字は0に戻ります。つまり、0~9の10種類の数字から成り立っています。
なぜ人間が10進数を使っているのかというと、指が10本あるからという説が有力らしいですが、10進数しか知らないという方も多いのではないでしょうか。
数学は得意ではないので「進数」の定義を説明することはできませんが、何が言いたいのかというと、2進数は我々が扱う10進数とはまったく異なるということです。
2進数は、文字どおり2種類の数字のみで数を表現します。
使える数字は「0」と「1」のみ
になります。
この2種類だけでどうやって数を表現するの?と思われるはずです。例えば「3」や「100」はどう表すのか不思議に思われるかもしれません。10進数に慣れている我々にとっては非常にやっかいそうです。
しかし、10進数と同様に慣れだけのことで、2進数の扱い方もすぐに理解することができます。
2進数は「2」で位が上がる
ようになります。
0→1→2 とはなりません。0→1→10 になります。この「10」は「ジュウ」ではなく「イチゼロ」です。つまり、10進数の「2」は2進数の「10」ということになります。
したがって、2進数では「0、1、10、11、100、101、110、111、・・・」という具合に数が増えて行きます。
10進数と比較してみるとよくわかります。
| 10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
慣れてくれば、10進数と混ぜこぜにならずに数が見えるようになりますが、10進数の「8」の時点で2進数では4桁になっており、大きい数になると桁数が膨大になっていきます。
計算も同様に行うことができます。10進数では「4+5=9」となりますが、2進数では以下のようになります。

2進数の「100+101=1001」となります。「1+1」の計算では桁が繰り上がって「10」になります。
このように、2進数でも10進数と同様に計算することができます。コンピュータは、こうして2進数を計算することでデータの表現、計算、命令の処理を行っています。
ただし、人間にとって2進数は扱いやすいものではないので、人間の使う言語から最終的に2進数への符号化の行程を経て、コンピュータが処理するようになっています。
例えば、10進数から2進数、プログラム言語から2進数といった変換処理(符号化)です。ここではイメージとして、最終的に2進数に変換されてコンピュータに渡されると理解しておいてください。(進数変換については、2進数と10進数と16進数 で詳しく学習します)
数学の世界には10進数だけではなく、2進数や8進数、16進数など数多くの進数が存在しますが、デジタルの世界で主に使われるのは「2進数」と「16進数」です。
16進数は、文字どおり16種類の数字が使われます。プログラミングやコードの表記などに利用されていますが、現段階では少し専門的なので、同様に 2進数と10進数と16進数 で詳しく学習します。
コンピュータが2進数を使う理由
なぜ、2進数か?という最初の疑問は、2進数を理解することで見えてきます。
数学的な理解は必要ありません。単純に、2進数は「0」と「1」の2種類の数字しか使われていないということに意味があります。
そもそも、パソコンに限らずデジタル機器であればデジタルデータを取り扱うことができるわけで、音楽プレーヤーであれば音楽のデジタルデータを再生することができます。つまり、2進数を扱うことができるということです。
その他のデジタル機器も同様です。パソコンだけが凄いわけではありません。パソコンやスマートフォンがいくら高性能とは言え「ただの機械」だと考えてみてください。
AI技術が進歩しており、人工知能など凄いイメージがありますが、それはソフトウェアの技術で、元をたどればデータはすべて2進数になります。このあたりは基礎知識編をすすめていくことで理解できると思います。
よってパソコンであっても、私たち人間のように感情もなければ、言葉も理解できないただの機械に変わりありません。そもそも「数字自体理解できるはずがない」のです。
わかるとすれば(処理できるとすれば)、
電流の「ON(流れている)」と「OFF(流れていない)」だけ
なのです。
これでもうおわかりのように、
電流のONとOFFに数字の0と1を対応させている
ということです。
厳密にいうとONとOFFだけではなく、例えば、2ボルト以上を「1」、未満を「0」などとする場合もあります。
そう思えば、パソコンはあまり賢くないんじゃないかと幻滅してしまうかもしれませんが、決してそんなことはありません。後述しますが、超高速で2進数を処理していますし、2進数で扱う桁数は膨大なものになることが想像できると思います。
また、メタバースやVR動画などの最先端技術も元をたどれば2進数からできています。さらに技術の凄さを実感してしまうのではないでしょうか。
更新履歴
- 2008年7月25日
- ページを公開。
- 2009年2月20日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月19日
- ページをSSL化によりHTTPSに対応。
- 2024年9月12日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)
