コンピューターが0と1を使うのは、電気の「低い・高い」の二つだけなら、少しのずれがあっても読み間違えにくいからです。
0と1は、その二つにつけた呼び名です。中に数字の札があるのではなく、低いほうを0、高いほうを1と呼びます。
「二つだけで足りるの?」は、ランプの明るさで考えるとはっきりします。計算は出てきません。
コンピューターが0と1を使う理由は、見分けやすさ
ランプ1個で0から9までを伝えるなら、明るさを10段階に分けることになります。7番目と8番目の差はわずかで、部屋が少し暗いだけでも読み違えます。
「消えている」か「ついている」かの二つなら、だれが見ても迷いません。1個で伝えられる種類は10から2に減りますが、読み違いはほとんど起きません。
ユイ
0から9まで使えば、ランプ1個で10種類も伝えられるのに、もったいなくないですか?
ピコ
近い段階ほど読み違えやすいのは、人も機械も同じなんだ
イト
消えてるか、ついてるかなら、ぼくでもすぐわかる
マコト
そう。減ったぶんは、ランプを並べる数で取り返す。コンピューターはそういう作りなんだ
漫画では、消えていることを「消灯(しょうとう)」、ついていることを「点灯(てんとう)」と書いています。
漫画:ふたつで、もっと 全4ページ
イトは、似た明るさのランプを見比べて迷っています。ピコと二つに分け、並べる数を増やしてみると、できることが見えてきます。
画像を押すと拡大できます。+/−で大きさを変え、拡大中はドラッグして読めます。
ランプは、二つの違いと組み合わせを見せるためのたとえです。実際の部品は、電気の低い範囲と高い範囲を読み分けます。幅をこえる大きな乱れが入れば、読み間違いは起きます。
ランプ2個で4通り、3個で8通り。1個足すたびに、表せる種類は倍になります。一つひとつは見分けやすい二つにしぼり、並べる数で種類を増やすのが、コンピューターの基本の作り方です。
実際の部品では、この「消えている・ついている」が電気の低い・高いです。その読み方に、ひとつ工夫があります。
電気を0と1に読み分けるしくみ
パソコンの部品では、低い電圧を0、高い電圧を1として読みます。電圧(でんあつ)は、電気を流そうとするはたらきの強さです。
「この値ぴったりなら1」とは決めません。ここまで低ければ0、ここまで高ければ1と、幅を持たせて読みます。
低い電圧から、高い電圧へ
真ん中の「どちらとも決めない範囲」は、わざと空けてあります。送る途中で信号が少し変わっても、同じ0か1として読めるようにするためです。この幅をこえる大きな乱れ(ノイズ)が入ると、読み間違いは起きます。二つに分ける工夫は、小さなずれに強くするためのものです。
0と1は呼び名なので、電圧がちょうど0ボルト・1ボルトという意味ではありません。
残る疑問は、0と1しかないのに2や3をどう書くかです。それが2進数です。
2進数とは、0と1で数を書く決まり
2進数(二進数、にしんすう)は、0と1だけで数を書く決まりです。
ふだんの数え方は0から9を使い、9の次で桁が増えて10になります。2進数は0と1しかないので、1の次でもう桁が増えて10になります。この「10」は、ふだんの数え方の2です。
| ふだんの書き方(10進数) | 2進数での書き方 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 10 |
| 3 | 11 |
| 4 | 100 |
同じ「10」でも、どの数え方かで表す数が違うのです。2進数の10は「いち・ぜろ」と読むと、ふだんの「じゅう」と混ざりません。
りんご2個は、2進数で10と書いても2個のままです。変わるのは書き方だけです。
0か1のどちらか一つを表す単位が「ビット」です。ビットの数え方や、8個をまとめたバイトは、ビットとはとバイトとはで説明しています。
二つのスイッチで、組み合わせを見てみる
動かしたい人は、下のボタンを押せます。読むだけでも先へ進めます。
二つのスイッチで、何通り作れる?
消灯を0、点灯を1とすると、二つの並びは 00・01・10・11の4通りです。文字や色を表すには、この並びをどう読むかの約束も必要です。
片方ずつ切り替えて、四つの並びを探してみましょう。
今の並び:00。見つけた並びは1 / 4通り。
ところが、同じ0と1の並びは、数ではなく文字としても読めます。どちらかは、並びだけでは決まりません。
0と1の並びが文字や写真になるには、読む決まりが要る
0と1をたくさん並べれば、組み合わせはいくらでも作れます。ただし、その並びを何として読むかの決まりがなければ、ただの0と1の列です。
文字なら、文字ごとに決めた番号を0と1で記録し、読む側も同じ決まりで文字に戻します。この決まりが「文字コード」です。写真なら、小さな色の点を記録し、写真用の決まりで表示します。文字の決まりと写真の決まりは別物です。
同じ並びを、数と文字で読み分ける例
01000001という8個の並びは、0以上の整数を表す2進数として読むと65です。
UTF-8(ユーティーエフエイト)という文字の決まりで読むと、Aになります。
読む決まりを知りたい人は文字コードとはへ、写真や音の保存方法の名前を知りたい人はファイル形式とはへ進めます。小数を0と1で表すときの疑問は、0.1+0.2が0.3にならない理由で、目盛りの模型を使って確かめられます。
この読み直しをしているのはだれか。それが、画面に0と1が出てこない理由です。
ふだんの画面に0と1が見えないのはなぜ?
アプリや機器がデータを読み、人にわかる形に直して見せているからです。 写真を開くたびに0と1を一つずつ読むのは、人ではなくアプリの仕事です。
文書にAと打つと、Aを表す番号が記録されます。画面には、その番号に合う文字の形を描きます。記録することと、形を描くことは別の仕事です。
0と1でよくある質問
Q1. 0と1は、コンピューターの言語ですか?
言語というより、二つの状態につけた呼び名です。文字も命令も0と1の並びで記録し、読む決まりがあって初めて意味になります。命令の読み方はコンピューターはどう命令を処理する?で追えます。
Q2. 2進数の10は、ふだんの数ではいくつですか?
2です。0、1の次で桁が上がって10になります。「いち・ぜろ」と読みます。
Q3. 2進数の計算ができないと、パソコンは使えませんか?
使えます。0と1を読み書きするのは機器の仕事で、人は文字や写真の形で受け取ります。理由が分かっていれば十分です。
コンピューターが0と1を使う理由を、一文で言うなら
最初のランプに戻ります。10段階は見分けにくく、消えている・ついているなら迷わない。だから見分けやすい二つにしぼり、並べる数で種類を増やす。0と1を使う理由は、この一文で人に説明できます。
今すぐ確かめるなら、スマホの設定でストレージの画面を開いてください。「○○GB」の数字は、0と1を8個ずつ束ねたバイトを数えたものです。その数え方はバイトとはで続きます。
物語で読みたい人は、第95話「コンピューターはなぜ二進数を使う?」へ。
この記事について
TERM PRIMER
コンピューターの0と1|この記事で使った言葉
LAB WHITEBOARD
コンピューターの0と1を一文で説明してみよう
「コンピューターが0と1を使う理由を「見分けやすい二つにしぼり、並べる数で増やす」と自分の言葉で言える。2進数の10がふだんの2を表すことと、0と1の並びを文字や写真にするには読む決まりが要ることをつかめる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。








