二進法ってなーに?
99.8.23.の新聞で、やはりカーナビ利用者相談3100件とカーナビの8.22問題が具体的に起こっている事を知る。その原因がプログラムの不具合で「衛星のコンピューターは1980年1月6日を起算日に時間経過を週単位で管理している。しかし二進法で十けたの記憶領域しかないため千二十四週目に入る99年8月22日午前零時にゼロに戻る。このカウンターのリセットに対応できない…」の記事の中に「二」進法で「十」けた、「千二十四」週という数字が出ています。この数字の秘密を解いてみよう。
まず、二進法について調べてみよう。
(1)人間は十進法でコンピューターは二進法
私達は 0,1,2,3,4,5,6,7,8,9の10個の数を使っています。9の次は10、10が10個集まると100、100が10個集まると1000になっています。このように10個集まるごとに「けた」があがっています。このような原理を十進法というのです。二進法は、0,1の2個の数を使い、0,1の次は10(=2)、10(=2)が2個集まると100、100が2個集まると1000になるのです。つまり、二進法は0と1のたった2個の数のみですべての数を表すわけです。つぎの表を参考にして二進法を理解してください。
十進法
二進法
十進法
二進法
十進法
二進法
0
0
11
1011
22
10110
1
1
12
1100
23
10111
2
10
13
1101
24
11000
3
11
14
1110
25
11001
4
100
15
1111
26
11010
5
101
16
10000
27
11011
6
110
17
10001
28
11100
7
111
18
10010
29
11101
8
1000
19
10011
30
11110
9
1001
20
10100
31
11111
10
1010
21
10101
32
100000
どうですか、0と1で数が表されているでしょう。32と100000を比べると二けたと六けたですね。2個の数しか使わない分、けた数が多いですね。
1と0は「Yes,No」や電流の「入り、切り」に対応するということでコンピューターは二進法で数を、人間は(10本の指だから?)十進法で数を理解しているわけです。
ついでに、二進法の数を十進法の数にするにはどうするか。
例えば、10011=1×24 + 0×23 +0×22 +1×2 + 1 = 16+0+0+2+1 = 19 とすればいいのです。
(2)バーコードの作り方
上の表で簡単にバーコードを作ることができます。「1010」をバーコードにするには「1」をたての{棒}に「0」は{空白}とすればよい。「| | 」=1010(=10)「| | |」=10101=(21)となるわけです。
このバーコードは実際に使われているのですよ。電車の自動改札用の切符がそうなんです。切符の裏一面の茶色に塗装されていますが、その中に日付・発駅・運賃がかかれているのです。当然バーコードです。「| 」月「| |||」日は1000=8月 10111=23日というようにです。(3)1024のなぞ?
たとえば、34567=3×10000+4×1000+5×100+6×10+7=3×104+4×103+5×102+6×10+7 となっています。次に二進法の 11111=1×24 + 1×23 +1×22 +1×2 + 1(=16+8+4+2+1=31)となっています。つまり、104は五けたを表しているように24は五けたを表しています。
次に1024=210になっているのです。だから、1024は二進法では十一けたを表しているのです。これで、新聞記事の中に「二進法で十けたの記憶領域しかない」という意味が理解できたでしょう。十けたを超えてしまうわけです。数字当てゲーム(JAVASCRIPT)は二進法の応用です。こちらのゲームでも楽しんでください。
数楽どん話メニューにもどる