/* アクセス解析(Google Analytics 等)の Javascript は、?> 以降に書いてください。 (Javascript of Access analysis (Google Analytics etc.), please write them after the below ?>. ) */ ?>

二進法を学ぶと年齢をあばくことができます




先日の記事の続きです。

前回の記事を読んでいない方は、先にそちらをお読みいただくことをお勧めします。

http://hiro365.tarohiro.com/2016/05/11/birthday-2/

二進法を学んで年齢を当てちゃおう

11742947_933700526708424_6700028812451989034_n

わたしたちの世界は10進法

わたしたちは通常、数を数えるときには10進法を用いています。

1,2,3,4,5,6,7,8,9 と続き、その次は位が上がって10です。

11,12,13, ・・・ , 98,99 と続き、位が上がって100になります。

10進法の世界では、0,1,2,3,4,5,6,7,8,9 の10種類の数字を使って表現します。

並んでいる数が最も大きい9ばかりになったら、その次の数は位が上がるんです。

これがわたしたちが生まれてからずっと使ってきている10進法の世界です。

2進法とは

では、2進法とはなんなのか。

数字が2種類しか無いから2進法です。0と1しかないんです。

最初が1です。最も大きい1ばかりになりましたので、位が上がって10になります。

次は11。最も大きい1ばかりになりました。位が上がって100です。

その次は101。次は110。その次は111。1ばかりになったので、位が上がって1000です。

このルールで数を並べていくと、次の表のようになります。

10進 2進
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
16 10000
17 10001
18 10010
19 10011
20 10100
21 10101
22 10110
23 10111
24 11000

そもそも10進とは

そもそも、10進法とはどのようなしくみで数を表しているのか考えましょう。

「562」という数は、単に「5」「6」「2」という数を並べているだけなんです。

でも、その意味として、「100が5つ、10が6つ、1が2つ」というのをわたしたちは知っています。

これを数式で表すと 100 \time 5 + 10 \times 6 + 1\times 2 となります。

100や10を別の書き方をすると 10^2 \times 5 +10^1 \times 6 +10^0\times 2 と書けます。

この10が10進の10なんです。

では2進とは

では2進とはどのようなしくみなんでしょう。

例えば2進の「101011」という数は、10進のときと同じように考えると
2^5\times1 + 2^4\times0 + 2^3\times 1 +2^2\times 0 +2^1\times 1 +2^0\times1 = 32+8+2+1=43
となり、10進の43と等しい数である、というしくみなんです。

表に表すと

これを表に表してみます。

10進 32 16 8 4 2 1
1 0 0 0 0 0 1
2 0 0 0 0 1 0
3 0 0 0 0 1 1
4 0 0 0 1 0 0
5 0 0 0 1 0 1
6 0 0 0 1 1 0
7 0 0 0 1 1 1
8 0 0 1 0 0 0
9 0 0 1 0 0 1
10 0 0 1 0 1 0
11 0 0 1 0 1 1
12 0 0 1 1 0 0
13 0 0 1 1 0 1
14 0 0 1 1 1 0
15 0 0 1 1 1 1
16 0 1 0 0 0 0
17 0 1 0 0 0 1
18 0 1 0 0 1 0
19 0 1 0 0 1 1
20 0 1 0 1 0 0
21 0 1 0 1 0 1
22 0 1 0 1 1 0
23 0 1 0 1 1 1
24 0 1 1 0 0 0
25 0 1 1 0 0 1
26 0 1 1 0 1 0
27 0 1 1 0 1 1
28 0 1 1 1 0 0
29 0 1 1 1 0 1
30 0 1 1 1 1 0
31 0 1 1 1 1 1
32 1 0 0 0 0 0
33 1 0 0 0 0 1
34 1 0 0 0 1 0
35 1 0 0 0 1 1
36 1 0 0 1 0 0
37 1 0 0 1 0 1
38 1 0 0 1 1 0
39 1 0 0 1 1 1
40 1 0 1 0 0 0
41 1 0 1 0 0 1
42 1 0 1 0 1 0
43 1 0 1 0 1 1
44 1 0 1 1 0 0
45 1 0 1 1 0 1
46 1 0 1 1 1 0
47 1 0 1 1 1 1
48 1 1 0 0 0 0
49 1 1 0 0 0 1
50 1 1 0 0 1 0
51 1 1 0 0 1 1
52 1 1 0 1 0 0
53 1 1 0 1 0 1
54 1 1 0 1 1 0
55 1 1 0 1 1 1
56 1 1 1 0 0 0
57 1 1 1 0 0 1
58 1 1 1 0 1 0
59 1 1 1 0 1 1
60 1 1 1 1 0 0
61 1 1 1 1 0 1
62 1 1 1 1 1 0
63 1 1 1 1 1 1

例えば、10進の「35」は32と2と1の所に「1」があり、それ以外の位には「0」があります。

1のある位の表題の数字を足すと、元の数字になります。32+1=35 です。

逆に、35を表す方法はこの1通りしかありません。他の整数についても同じです。

年齢当てカードの作り方

前回の記事で紹介した、年齢当てカードの作り方です。
1枚目のカードには、「1」の位が1である数を書いていきます。

1 3 5 7 9 11 13 15
17 19 21 23 25 27 29 31
33 35 37 39 41 43 45 47
49 51 53 55 57 59 61 63

2枚目のカードには「2」の位が1であるものを書いていきます。

2 3 6 7 10 11 14 15
18 19 22 23 26 27 30 31
34 35 38 39 42 43 46 47
50 51 54 55 58 59 62 63

3枚目のカードは「4」の位が1です。

4 5 6 7 12 13 14 15
20 21 22 23 28 29 30 31
36 37 38 39 44 45 46 47
52 53 54 55 60 61 62 63

4枚目は「8」の位が1。

8 9 10 11 12 13 14 15
24 25 26 27 28 29 30 31
40 41 42 43 44 45 46 47
56 57 58 59 60 61 62 63

5枚目は「16」の位が1のものを。

16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63

最後の6枚目は「32」の位です。

32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63

この6枚のカードから、自分の年齢が含まれているカードを選ぶことで、2進で表したときの桁が「1」であるものを選ぶことになるんです。

ですから、左上の数を足すことで、2進の数を10進に書き直したものを求めることができます。

高齢者には

この方法、わたしの母には使うことができませんでした。

理由は、64歳を超えているからです。もう一枚カードが必要ですね。

でも、そのためにはすべてのカードに127までの2進表記を書き加える必要があります。

127歳のお姉さんの年齢を当てる飲み会って一体・・・(笑)。