CODE〜コードから見たコンピュータのからくり〜

先輩にオススメされたCODE コードから見たコンピュータのからくり
ゴールデンウィーク中に読んでみました。

「第十三章 でも引き算はどうする?」

までしか読めていませんが、そこまでの読書録を。

情報のコード化

この本は、

情報のコード化

というテーマがあります。情報のコード化をわかりやすく説明するために、「懐中電灯で隣の家の友達とコミュニケーションをとる」や、「モールス信号」、「点字」などの例を挙げており、物語口調でとてもわかりやすいです。

歴史の流れに沿ってわかりやすく書かれていて、読みやすい。

モールス信号→点字→回路→・・・

と、歴史の流れに沿ってわかりやすく書かれていて、まるで歴史の教科書を読んでいるみたいでした。
最近は、HTML、CSSJavascriptの本しか読んでいなかったので、とても新鮮。

「懐中電灯に電池を入れ、スイッチを入れるとなぜ明るくなるのか?」や、「雷」、「静電気」といった自然現象の原理についても書かれており、高校の化学の授業で習った事柄ということもあって、とても懐かしかったです。


モールス信号

国際遭難信号の「SOS」が、

S → ・・・
0 → ーーー
S → ・・・

というように、とても覚えやすいコードだったため、採用されたものだっとは意外でした。


第六章に、「電信とリレー」という章があるのですが、その章にでている装置を見て、「紅の豚」のジーナがこんな装置を使ってやりとりしていたなーと思い出しました。
ネットはもちろん、電話もなかったような時代には、このような手法が一般的だったのですね。

点字

・・
・・
・・

点字は、上の図のように、ひとつのマスの中に、計6つの点(ポイント)があり、そのひとつひとつの点が「出っ張っている場合」、「出っ張っていない場合」の2通りがあるため、「2の6乗=64種類」のコードを表現しています。

ちょうど一年前に、ダイアログ・イン・ザ・ダークという、暗闇の中をチームで力を併せて進んでいく研修を受けさせていただきました。その会場に点字で表現されている資料がたくさん置いてあり、資料の中の文字と比較して、この点字はこの字を表現しているのかな?といろいろ探っていたのを思い出しました。


引き算が面白かった。

「253-176」を計算するとき、一の位から計算していくと、十の位から借りてこなければ計算ができないため工夫が必要になる。

そのため、以下のように分解する。

1、1000と-1000を追加
253-176+1000-1000

2、1000を(999+1)に分解
253-176+(999+1)-1000

3、順番を入れ替える
253+(999-176)+1-1000

これで、上の位から借入しなくとも計算ができるように!


また、「176-253」のように引き算の答えがマイナスになってしまうときは、

1、999と-999を追加
176-253+999-999

2、順番を入れ替える
176+(999-253)-999

これで、借入せずに計算可能に!


ただ、上の計算方法を、実際の回路にし、スイッチのオンオフで計算をするところがいまいち理解できなかったので、その辺を再読しようと思います。


ゴールデンウィークということもあり、普段読まないタイプの本を読んで、脳の違ったところが活性化されて気がしました。