通常使っている数字は1,2,3…と増えていき10になったらケタが上がる10進数ですが、0と1のみで数字を表す2進数というものがあります。
2進数なのに「2」が出てこないのが紛らわしいのですが、2進数の「2」は「0」と「1」の2種類の数字しかないことを意味しています(10進数は、0〜9まで10種類の数字がある)。
中学入試の問題で出る場合は「2進数」という言葉ではなく、次のように説明されていることが一般的です。
整数を次のように記号で表すとします。
1 | 2 | 3 | 4 |
---|---|---|---|
〇〇〇● | 〇〇●〇 | 〇〇●● | 〇●〇〇 |
5 | 6 | 7 | … |
〇●〇● | 〇●●〇 | 〇●●● | … |
このとき、次の質問に答えなさい。…(以下省略)
上記の説明に2進数という言葉はひとつもありませんが、数字を2種類の記号で表しているので、これは2進数と同じです。2種類の記号であればいいので、〇と□でも▲と▼でも同じ。
本来の2進数は〇=0、●=1なので、次のようになります。
1 | 2 | 3 | 4 |
---|---|---|---|
0001 | 0010 | 0011 | 0100 |
5 | 6 | 7 | … |
0101 | 0110 | 0111 | … |
2進数がどのようなルールになっているのかを説明します。
まずは「1」。これは2進数でも【1】と表します。
次に「2」。2進数には「2」という数字はありません。【0】と【1】だけ。このためケタが繰り上がって【10】となります。
このとき最初のケタは【0】になるのがポイント。
10進数でもケタが繰り上がったとき(10のとき)は、最初のケタは「0」ですよね。
次に「3」。2進数【10】が「2」なので、これに「1」を足す【11】が「3」です。
10進数なら「10」の次の数字が「11」になるのと同じ仕組みです。
次に「4」。2進数【11】が「3」なので、ケタが上がり【100】が「4」となります。
次に「5」。2進数【100】が「4」なので、これに「1」を足す【101】が「5」です。
次に「6」。2進数【101】が「5」なので、これに「1」を足す【110】が「6」です。
一番右のケタが上がって、2番目のケタが増えています。
このように考えていくのが2進数です。上の表では10進数の「1」を2進数で【0001】と表していますが【0】は省略しても同じです。
2進数はケタが上がるにつれて数値が2倍になっていきます。
【1】→2倍→【10】→2倍→【100】→2倍→【1000】。
10進数で表すと、「1」→2倍→「2」→2倍→「4」→2倍→「8」です。
この仕組みを利用して2進数を10進数に変換することができます。
(解き方)次のような表を用意します。
2進数 | 0 | 1 | 0 | 1 | 1 |
---|---|---|---|---|---|
倍数 | 16 | 8 | 4 | 2 | 1 |
2進数×倍数 | 0 | 8 | 0 | 2 | 1 |
8+2+1=11。
答え.2進数【01011】は10進数では「11」
2進数で【1】となっているケタに該当する「倍数」を足していけば10進数になるというわけです。
整数を次のように記号で表すとします。
1 | 2 | 3 | 4 |
---|---|---|---|
◇◇◇◆ | ◇◇◆◇ | ◇◇◆◆ | ◇◆◇◇ |
5 | 6 | 7 | … |
◇◆◇◆ | ◇◆◆◇ | ◇◆◆◆ | … |
このとき、次の質問に答えなさい。
(問1)◆◇◆◇◆◇はいくつですか?
(問2)◇◇◆◆◇◆+◇◆◇◆◇◆を計算せよ。
表にあてはめて考えます。問題文より【◇◇◇◆】が「1」で、【◇◇◆◇】が「2」なので、◆が2進数の【1】です。
記号 | ◆ | ◇ | ◆ | ◇ | ◆ | ◇ |
---|---|---|---|---|---|---|
2進数 | 1 | 0 | 1 | 0 | 1 | 0 |
倍数 | 32 | 16 | 8 | 4 | 2 | 1 |
2進数で【1】となっているケタに該当する「倍数」を足せばいいので、32+8+2=42が答えです。
答え.42
10進数に直してから計算する方法を説明します。
10進数への変換は表にあてはめて考えます。
記号 | ◇ | ◇ | ◆ | ◆ | ◇ | ◆ |
---|---|---|---|---|---|---|
2進数 | 0 | 0 | 1 | 1 | 0 | 1 |
倍数 | 32 | 16 | 8 | 4 | 2 | 1 |
8+4+1=13
記号 | ◇ | ◆ | ◇ | ◆ | ◇ | ◆ |
---|---|---|---|---|---|---|
2進数 | 0 | 1 | 0 | 1 | 0 | 1 |
倍数 | 32 | 16 | 8 | 4 | 2 | 1 |
16+4+1=21
よって◇◇◆◆◇◆+◇◆◇◆◇◆=13+21=34
答え.34
この解き方でも正解ですが、時間がかかってしまうため2進数のまま計算する方法も紹介します。
同じケタに2進数で【1】(記号だと◆)が2つあると、ケタが繰り上げる。
記号 | ◇ | ◇ | ◆ | ◆ | ◇ | ◆ |
---|---|---|---|---|---|---|
記号 | ◇ | ◆ | ◇ | ◆ | ◇ | ◆ |
上の表だと一番右端のケタは両方とも◆なので、繰り上がって次のケタに◆がひとつ増える。繰り上がったため、一番右端のケタは◇となる。
右から二番目のケタは両方とも◇で繰り上がり分の◆があるので◆となる。
右から三番目のケタは両方とも◆なので、繰り上がって次のケタに◆がひとつ増える。
繰り上がったため、三番目のケタは◇となる。
右から四番目のケタはひとつが◆で、繰り上がり分の◆があるので次のケタに◆がひとつ増える。…と計算していきます。
記号 | ◇ | ◇ | ◆ | ◆ | ◇ | ◆ |
---|---|---|---|---|---|---|
記号 | ◇ | ◆ | ◇ | ◆ | ◇ | ◆ |
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ |
計算結果 | ◆ | ◇ | ◇ | ◇ | ◆ | ◇ |
計算結果を10進数に変換します。
記号 | ◆ | ◇ | ◇ | ◇ | ◆ | ◇ |
---|---|---|---|---|---|---|
2進数 | 1 | 0 | 0 | 0 | 1 | 0 |
倍数 | 32 | 16 | 8 | 4 | 2 | 1 |
32+2=34
答え.34
慣れてくると二進数のまま(記号のまま)計算するほうが早く正確になるので、練習してみてください。