2016年12月31日土曜日

なんで2進数!?(怒) 【回路やデジタルの自己満説明!】

専門外の方に回路、コンピュータの動作原理を解説し興味を持ってもらうためのブログ。今回は、2進数ってなんなの?という記事です。

話の内容

前回はこんな話を書きましたが、今回はこんな話です。
○2進数も10進数も結局同じ

“0”と“1”しか存在しない通信は正確で安く作れるってのは前回の話

そんな状態で使える数字ってやっぱり2進数?
それがよく分からんのだ。ということで、2進数というものに関するお話です。


合計から内訳の分かる方法

前回と別のパターンを考えます。

ポク太郎がしつこく聞きます。

「ポク太郎は男前ですか?点数を付けてくれ。」
仕方ないので、A子さんとB美さんがそれぞれ1点づつ持ち、その合計をポク太郎の男前度として表そうとしました。

あり得るパターンは、
パターン1パターン2パターン3パターン4
A子さん0101
B美さん0011
 合計 0112

A子さんとB美さんは等価の持ち点を持っていますから、
A子さんとB美さんのつけた点数を足し算した合計は、0点、1点、2点の3段階で表すことになります。

これややこしいんです。
全部で4パターンあるのに、合計の種類は3パターンしかない(0と1と2)状態なんです。
特にパターン2、3の場合、合計を見ただけではA子さん、B美さんがどちらが投票したのか分からないですね?


ここで一つ考えます。
ポク太郎はA子さんよりもB美さんの方が2倍好きなので、
B美さんの点数を2倍として扱いました。

そうすると上の表は、
パターン1パターン2パターン3パターン4
A子さん0101
B美さん0022
 合計 0123

どうでしょう?
全部で4パターン、合計の種類も4パターン。
しかもちゃーんと0点~3点の1点刻みの4段階。

C紀さんはさらにその2倍好きなので4倍にして計算します。
パターン1パターン2パターン3パターン4パターン5パターン6パターン7パターン8
A子さん01010101
B美さん00220022
C紀さん00004444
 合計 01234567

全部で8パターン、合計の種類も8パターン。
合計は、0点~7点の綺麗に1点刻みの8段階で表すことができます。


A子さん、B美さん、C紀さんは完全に等価な投票権を持っているのですが、
結果を見てるポク太郎が勝手に2倍、4倍、と重要視することで、
1点刻みの綺麗なバロメータとして見ることができます。

A子さん、B美さん、C紀さんは、それぞれ“0”か“1”かだけを表せる1本の配線だとします。
受け取るICが右から順番に1倍、2倍、4倍、8倍、…と認識すれば、
それはレベルとして扱えちゃいます。(1刻みですよね?)

これが2進数。
配線それぞれに重みを決めて扱うことで、デジタル機器では2進数で数値のやり取りを行っています。
配線1本(“0”か“1”かを表せるもの)を1ビット(bit)といいます。
今、A子さん、B美さん、C紀さんの3人がいるので3ビットです。
つまり、3ビットでは0~7の8段階の数値を表すことができるということですな。


同じことを10進で考える

同じことを10進数で考えると分かりやすいです。
B美さんはA子さんの10倍、C紀さんはさらにその10倍重要視します。
10進数では0~9の10コの数値を使って表現しますので、

(組み合わせのパターンは多すぎて書けませんが。)
A子さんの選択できる点数 : 0、1、2、3、4、5、6、7、8、9
B美さんの選択できる点数 : 0、10、20、30、40、50、60、70、80、90       ←10倍です
C紀さんの選択できる点数 : 0、100、200、300、400、500、600、700、800、900   ←100倍です
-----------------------------------------------------------------
 合計 :3人それぞれがどの点数を選んでも、0~999の綺麗に1刻みの1000段階

上の表を見ると、
A子さんは、1の位を支配、
B美さんは、10の位を支配、
C紀さんは、100の位を支配していることが分かります。
     支配と表現してるのは、
     B美さん、C紀さんがどの点数を付けてもA子さんのつけた点数を隠すことができない、
     3人とも全員この事象が成り立っている、ということです。

A子さん、B美さん、C紀さんは、それぞれ“0”~“9”かだけを表せる1桁の数字だとします。
数値を見る人間が右からから順番に1倍、10倍、100倍、1000倍、…と認識すれば、
それはレベルとして扱えちゃいます。(1刻みですよね?)

これが10進数です。


N進数とは

    2進数 …0と1の2種類の文字が存在し、一つ上の桁は2倍の重みを持つ。
   10進数 …0~9の10種類の文字が存在し、一つ上の桁は10倍の重みを持つ。
   16進数 …0~9とA、B、C、D、E、Fの16種類の文字が存在し、一つ上の桁は16倍の重みを持つ。


人間は指が5本、両手で10本あり、おそらく10進数が理解しやすかったんだと思います。
ですが、N進数を規定してみると、当然同じように扱うことができます。

当たり前といえば、当たり前の話なんです、これ。
でもなかなかシッカリと把握できないもんなんです。




ここから余談

学校のテストは何点満点?
   ポク太郎の通っていた学校では、0点から100点で採点するテストを行っていました。
   よく考えたらこれって生徒を101段階のレベルに分類分けしてたんですね?
   100段階であれば、0~99点、もしくは、1~100点で表したはず。

   一つ1点の問題が100問で100点満点ですが、生徒のレベルを100段階で表すのが目的なら、
   99問にしないといけないということですね。

   人間みんなキリのいい数値を使いたいのですが、
   子供にキリのいい数値“100点”を見せて、
   先生は“101段階”というキリの悪い数値で我慢してるようです。


話の内容

こんな話でしたが内容は伝わりましたでしょうか。
○2進数も10進数も結局同じ


【関連記事】  1バイト…1バイト…
何で16進数!?(怒)
デジタルは“0”と“1”?
“情報”の伝え方




スポンサーリンク

スポンサーリンク



0 件のコメント:

コメントを投稿