ちしきよく。

雑多系ブログ。みなさんの「何かを知りたい!」という欲を叶えましょう。

縁の下の力持ち!?2進法くんバンザイ ほか



あとで読む

f:id:zetakun:20161208175116j:plain

安楽死についてまとめてたら、こっち書くの忘れてました。

楽しみにしてた方、遅れたことをお詫び……まではいかないけど、ちょびっとだけ申し訳ないです。

前回、こういう記事を書きました。覚えてますでしょうか?

 

www.chishikiyoku.com

 うん、自画自賛ながら、10進法の説明はよくできていたと思う。自分の子どもにこうやって教えたいくらい(これは嘘)。

前回は、進法というのがどういうものなのか説明しましたね。ズバリ、

どのくらいまで数字が上がれば、位が変わるか

というものを取り決めたのが進法でした。(これは本当)

そして、世の中に進法の決まりというのは溢れていることも解説しましたよね。

1日は24時間だから、時間は24進法

1時間は60分だから、分は60進法

我々が使うのは10進法

というように。

 

じゃあもっと話を広げていくことにしますね。そもそも我々はどうして〇進法を使うのか?という「理由の説明」まで広げましょう。

 

60進法を使うのはなぜ?

時間に関して我々は60進法を使います。これはどうしてでしょうか。

むかしむかしあるところに、超進んだ文明がありました。名前を

メソポタミア文明 といいます。

メソポタミア文明を作り上げたのはシュメール人という人たち。

彼らはとても頭が良く、この肥沃なチグリス・ユーフラテス川のあたりで農業をして暮らしていました。農業で大事なのは季節を知ること。今がだいたい何月なのか、というのを、彼らはすでに知ろうとしていたのです。

(これがだいたい紀元前3500年前で、日本人が貝塚をつくっていたころとだいたい一致します。進んでますね……彼ら)

その結果生まれたのが太陰暦。(たいいんれき)

月の満ち欠けをもとに一か月を決める暦です。

月の満ち欠けはだいたい一か月(と、我々が呼んでいる期間)で1周期ですから、これをもとに決めようとしたのですね。

ですから、英語の"month"(1月2月の「月」)と"moon"(天体の月)は同じ語源だし、

日本語の「1か月」の「月」と「天体の月」の「月」は同じ文字で表すのです。

このとき、天体の動きを円周で考えるほうが楽だということに彼らシュメール人は気づいた。どうしたかというと、その動きを等分して、天体の位置を角度で表そうとしたのです。

そのためには10よりも、約数が多い60のほうが都合がよい。

約数というのは、「その数以下の数で、その数を割り切ることのできる数」のこと。

数数うるせえんじゃコラー!

と思った皆さん。じゃあ具体例で考えてみましょう。

15の約数になれるのは15以下の数……つまり1から15ですね。

これらの数で15を割っていきます。「わる」を÷と表記するのめんどいんで、/のマークで表しますよ。あまりも「あまり」と書くとバランス悪いので ... で表記。

15/1=15

15/2=7...1

15/3=5

15/4=3...3

15/5=3

15/6=2...3

15/7=2...1

……

とやっていったとき、あまりが出なかった数(15をきれいに割り切れた数)のことを

15の約数 と呼ぶのです。15の約数は

1 3 5 15 のみ。

じゃあ10の約数はどうなるでしょうか?

1 2 5 10ですね。

一方60はどうなるでしょうか。多いですよ。

1 2 3 4 5 6 10 12 15 20 30 60

こんなにいっぱいあるんです。つまり、円周を基準として、そこから何等分~ということを考える場合においては、約数の多い数のほうが中途半端にならずいいんですね。

円周を10とおいちゃうと、それを3で割ったり4で割ったりすると余りがでてしまいますが、60ならきれいに割り切れます。

だから60を使ったのですね。これが今の「時間」「分」という単位に持ち越されたのは、(私の推測では)日時計のせいかなと思います。日時計は天体の動き(太陽の動き)を、時間の経過に変換する装置。ならば、天体を円周と見立てて60等分したなら、時間も60等分したほうが都合がよい、と考えるのが当然でしょう。と、思ったけど、月の動きを60等分したのは、ただ天体を観測するためだけじゃなくて、時間の経過を測るという目的もあったのかもしれませんね。むしろそっちのほうが正しいか。

話がそれてしまいました。シュメール人の暦が原因で、我々は60進法を使うのですね。

10進法を使う理由

それでは普段「10進法」を使うのはどうしてでしょう。日常において10進法はほとんどの数字を占めています。でもよくよく考えれば、10進法を使う必然性はどこにもないはず。何なら8進法でも14進法でもいいはずなんですね。どうしてなのか考えてみましょう。

 

答えを考えついた方は下にお進みください。

…………

 

 

 

 

 

 

ちゃんと考えました?

答えは「指の数」です。

え、それだけ!!!???!?!?

な方もいらっしゃいますね。ええ、それだけです。別に10だとキリがいいから10にしたわけじゃあありません。逆なのです。

我々に指が10本あったから、10をキリよく感じる。

ただそれだけなのだと。

f:id:zetakun:20161208125059j:plain

ですから、もしわれわれに指が13本あれば、13という位の上がり方を採用していたに違いない。それは我々にとってはひどく不都合に感じますが、宇宙人―13指族―が見れば、むしろ10進法のほうが不便なのです。

その場合、おそらく13指族はこのような位の上がり方を採用しているでしょう。

(我々の言うところの)12までの数はすべて1文字で表される。ちょうど私たちが9までの数字を1文字で表記するように。

そして、13になった瞬間、位があがり、次の位に(我々の言うところの)1を書く。で、下の「1の位」のところに0を表記する。

 

えらく不便に感じますが、そういう数をとることも実際に可能なのです。しかもこれは実際に身近に使われています。人間にとっては不都合極まりないけど、コンピュータにとって都合がいいのは、何進法だと思います?

 

 

コンピュータ LOVES 2進法

答えは2進法。

f:id:zetakun:20161208125812j:plain

これは、回路に電流が流れるか流れないか、つまり、

スイッチのON/OFF

で2進法の「1と0」を使い分けるからです。そう、2進法には2以上の数字は存在しない。すべては1と0で表されます。人間にとっては不便極まりないですが、コンピュータは1と0を簡単に判別することができるので、これ以上に都合のいい進数は存在しないのです。

実際に10進法を2進法に直してみます?いや、やっぱいいか。人間が人間である限り、(回路設計者を除けば)2進法を日常で使うことなんてありませんから。ですが、すべてのコンピュータの内部処理は、すべて2進法で行われている、ということは覚えておいてよいでしょう。

さて、ここでこの前の記事が復活します!

「世の中には10種類の人間がいる。

2進法がわかる人間と、わからない人間だ。」

 10種類の人間。どうして10種類いるはずなのに、2つしかカウントされてないんでしょうか。その謎はここにあります。

 はいドーン!!

f:id:zetakun:20161208130800j:plain

 

 これが2進法の位です。1の位は変わらないんですが、2進法なので2で位が上がります。つまり、こんな感じですかね。

f:id:zetakun:20161208174125j:plain

(1の位に1個入っている)

f:id:zetakun:20161208174217j:plain

(1の位に2個入っている)

で、こういう風になったら位が上がるので、1の位に入れた2個を取り出して、

f:id:zetakun:20161208174420j:plain

こういう風に、2の位に大きな石を入れ(この大きな石一個分が2を表す)、1の位には何も入ってないことを示す縄、

すなわち「0」を入れる。

こういう風にやっていけば、緑色の次の枠は16の位(2を4回かけたもの)、そして32(2を5回かけたもの)……となっていくのがわかるはずです。

まあ、計算方法はまた後日書いていこうと思いますが、こんなに不便な2進法が、目の前のコンピューターの中で無数に使われている、というのは結構面白いですよね。

で、ずーっと引っ張ってきた10種類の人間のことなんですが、実はこれ、

10(ジュウ)じゃないんですよ。さっきの画像の一番下のやつですね。

2の位に岩が1個入っていて、1の位には何も入っていない

これは2を表します。

つまり、10に見えた数というのは、

2を2進法で表しただけに過ぎないんです。

2進法は1(イチ)と0(ゼロ)しかないので、正しく発音するなら

世の中には10(イチゼロ)種類の人間 とするのがよいでしょう。友達に出してみると面白いかもしれませんが、「それなら最初からイチゼロって言えよー!!」なんて野暮なツッコミも覚悟の上で。