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




先日の記事の続きです。

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

https://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進
11
210
311
4100
5101
6110
7111
81000
91001
101010
111011
121100
131101
141110
151111
1610000
1710001
1810010
1910011
2010100
2110101
2210110
2310111
2411000

そもそも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進32168421
1000001
2000010
3000011
4000100
5000101
6000110
7000111
8001000
9001001
10001010
11001011
12001100
13001101
14001110
15001111
16010000
17010001
18010010
19010011
20010100
21010101
22010110
23010111
24011000
25011001
26011010
27011011
28011100
29011101
30011110
31011111
32100000
33100001
34100010
35100011
36100100
37100101
38100110
39100111
40101000
41101001
42101010
43101011
44101100
45101101
46101110
47101111
48110000
49110001
50110010
51110011
52110100
53110101
54110110
55110111
56111000
57111001
58111010
59111011
60111100
61111101
62111110
63111111

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

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

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

年齢当てカードの作り方

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

13579111315
1719212325272931
3335373941434547
4951535557596163

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

236710111415
1819222326273031
3435383942434647
5051545558596263

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

456712131415
2021222328293031
3637383944454647
5253545560616263

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

89101112131415
2425262728293031
4041424344454647
5657585960616263

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

1617181920212223
2425262728293031
4849505152535455
5657585960616263

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

3233343536373839
4041424344454647
4849505152535455
5657585960616263

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

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

高齢者には

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

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

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

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