二進法ってなーに

 99.8.23.の新聞で、やはりカーナビ利用者相談3100件とカーナビの8.22問題が具体的に起こっている事を知る。その原因がプログラムの不具合で「衛星のコンピューターは198016日を起算日に時間経過を週単位で管理している。しかし二進法で十けたの記憶領域しかないため千二十四週目に入る99822日午前零時にゼロに戻る。このカウンターのリセットに対応できない…」の記事の中に「二」進法で「十」けた、「千二十四」週という数字が出ています。この数字の秘密を解いてみよう。

 まず、二進法について調べてみよう。

1)人間は十進法でコンピューターは二進法

   私達は 0,1,2,3,4,5,6,7,8,910個の数を使っています。9の次は101010個集まると10010010個集まると1000になっています。このように10個集まるごとに「けた」があがっています。このような原理を十進法というのです。二進法は、0,12個の数を使い、0,1の次は10(=2)、10(=2)が2個集まると1001002個集まると1000になるのです。つまり、二進法は01のたった2個の数のみですべての数を表すわけです。つぎの表を参考にして二進法を理解してください。

十進法

二進法

十進法

二進法

十進法

二進法

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)は二進法の応用です。こちらのゲームでも楽しんでください。

数楽どん話メニューにもどる

トップにもどる