指で数を表す
指を一本ずつ立てて数えると、片手で0から5までです。
でも、指を「立てる」と「折る」の二つの状態として使うと、片手で0から31まで表せます。
両手なら、1023までです。これが二進数の力です。
今日は、二進数と十進数を、自分で直せるようになりましょう。
今日のキーワード
| ことば | いみ | れい |
|---|---|---|
| 変換 | 同じ数を、別の表し方に直すことです。 | 13を1101に直す |
| 余り | 割り算で、割り切れずに残った数です。 | 13を2で割ると、余りは1 |
| 商 | 割り算の答えのことです。 | 13を2で割ると、商は6 |
| バイト | 8ビットをまとめた単位です。 | 1バイトは8ビット |
| 桁をそろえる | 左に0を足して、桁の数を同じにすることです。 | 101を00000101にする |
学生が入力するセルは、このプレビューでは空白です。
二進数を十進数にする
8桁の二進数では、桁の重さは、左から128、64、32、16、8、4、2、1です。
1になっている桁の重さを足すと、十進数になります。
下のコードで、確かめましょう。
やってみよう: 十進数にする
# int(文字列, 2) は、二進数の文字列を、整数にします。
print(int("00001101", 2))
print(int("01101001", 2))
# 好きな0と1の並びに変えて、もう一度実行しましょう。
例: 8桁の二進数を十進数にする
| 二進数 | 1になっている桁の重さ | 十進数 |
|---|---|---|
| 00001101 | 8 + 4 + 1 | 13 |
| 01101001 | 64 + 32 + 8 + 1 | 105 |
| 10110010 | 128 + 32 + 16 + 2 | 178 |
| 11111111 | 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 | 255 |
学生が入力するセルは、このプレビューでは空白です。
十進数を二進数にする
逆の変換は、2で割って、余りを書いていきます。
商が0になるまで続けます。最後に、余りを下から上へ読みます。
13を例にしましょう。表を見てください。
例: 13を二進数にする
| 何回目 | 割られる数 | 商 | 余り |
|---|---|---|---|
| 1回目 | 13 | 6 | 1 |
| 2回目 | 6 | 3 | 0 |
| 3回目 | 3 | 1 | 1 |
| 4回目 | 1 | 0 | 1 |
| 答え | 余りを下から読む | 1101 |
学生が入力するセルは、このプレビューでは空白です。
小さな確認: 変換
やってみよう
小さな確認: 変換
4問挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存
答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。