Logo address

2進数と10進数

目次

2進数

2つの文字(普通は0と1)だけを使用して数を表す方法。
10進数では
	1 + 1 = 2
であるが、2進数では2が使えないので繰り上げが発生し、
	1 + 1 = 10
となる。(「じゅう」と呼ばない、「いちぜろ」あるいは「いちまる」)
0から始めて、1つづつ増やしていくと次のようになる。
	0  1  10  11  100  101  110  111
	1000 1001  1010  1011  1100  1101  1110  1111
2進数による四則演算

2進数の体系ではたった2つの文字(0 と 1)しか現れないので、四則演算は非常に簡単である。10進数ではかけ算の表(九九の表)を覚えるのに苦労したであろうが、2進数ではかけ算の表は覚えるのに値しないほど簡単である。

10進数との関係

2進数 10進数
1 1 = 20
10 2 = 21
100 4 = 22
1000 8 = 23
10000 16 = 24
100000 32 = 25
1000000 64 = 26
10000000 128 = 27
100000000 256 = 28
1000000000 512 = 29
10000000000 1024 = 210
2進数による数の表現を10進数による表現と区別するために
101(2) のように、右下に小さく(2)を付加する。(この書き方は最近の中学生の教科書に見られる。最近では中学で2進数が教えられている!)
注意: テキストでは (101)2 のように全体を ( ) で括り、右下に小さく 2 を付加している。

例題1. 2進数の 11010 は10進数ではいくらか?
答1
11010 = 10000 + 1000 + 10

2進数 10進数
10000 16
1000 8
10 2
よって、10進数では 16 + 8 + 2 = 26 である。
答2
1×24 + 1×23 + 0×22 + 1×21 + 0×20 = 16 + 8 + 2 = 26

例題2. 10進数の 315 は2進数ではいくらか?
答1.
315 = 256 + 32 + 16 + 8 + 2 + 1 故に2進数では
100000000 + 100000 + 10000 + 1000 + 10 + 1 = 100111011 答2

3152 で割り続ける。最後には商が 0 になる。わり算の余りを記録しておいて、求まった余りを下から順に書き出す。

問題1. 2進数の 1101 は10進数ではいくらか?
問題2. 10進数の 75 は2進数ではいくらか?
問題3. 以下の6枚のカードは、1から60までの数を記憶して貰い、その数が提示された6枚のカードに含まれているか否かを回答して貰い、それによって記憶して貰った数を当てるゲームに使用される。例えば、カード 1,2,4 に対して "NO" の返事を貰い、カード 3,5,6 に対して "YES" の返事を貰えば、"YES" のカードの右下隅の数字 4 と 16 と 32 を足した 52 が答えである。この遊びでは2進数が巧みに利用されている。各々のカードの数字はどのような規則で書かれているか考えよ。

問題4.

でもたぶん旨くいかないのである。だって、おじいちゃんは、もう 60 を越えている!
100 まで処理できるようにするには、どうすればよいでしょうか?

面白い工夫 問題4に関するメールを貰いました。問題の趣旨からは外れていますが、考えると言う事は楽しいですね。

03m3155 藤田恵里

この前先生の所に持っていったのが私です。
100まで処理するにはについてですが、私がやったやり方でやると121まで処理でき
ます。さらに、応用して使うとどんな数でも当てる事ができる事に気づきました。
それらを紹介しまっす。
知りたい数をn(nは整数)とする。
①1≦n≦60は表で処理できる。
②61≦n≦121
例:「80」の場合、偶数なので2で割ると40で40があるカードは(4)と(6)
なので、カードの右下を足して8+32=40、これを2倍すると80がわかる。
「93」の場合、奇数なので1を引いて93−1=92、これを2で割って46、
46があるカードは(2)(3)(4)(6)なので2+4+8+32=46、こ
これを2倍して+1すると93がわかる。
☆奇数で1引くのは2で割った時に小数値にさせない為。
③121≦nの時
知りたい数をn≦60となるまで2で割ってもらう。この時、奇数が出てきたらその都
度−1をする。n≦60になったら(1)〜(6)のカードで探し右下を足す。その数
を今までとは逆に計算していく。

例:300の場合

300÷2で150、150÷2で75、75は奇数なので−1、74÷2で37。37
は(1)(3)(6)のカードにあるので1+4+32=37、これを逆に計算してい
く。
37×2で74、74+1で75、75×2で150、150×2で300これで300
がわかる。