今回のブログでは、進数についてお伝えします。
進数と言われてピン!ときた方も、何それ美味しいの?という方もわかるような内容になってますので、ぜひ最後までご覧ください!
このブログを読むことで以下のことができるようになります。
- 進数について理解することができる
- 2進数、8進数、16進数をPythonで表示できるようになる
進数とは?
進数とは、位取り記数法で表記された数のことを言います。
位取り記号法とは、N進法とも呼ばれます。
N進法では、N種類の数字や文字、記号を並べて数を表記します。
具体的にいうと、皆さんが普段使っているのは10進数です。
なぜかというと、0〜9の10種類の数字を並べて数を表記するからです。
そして、コンピュータの世界では、2進数・8進数・16進数が用いられます。
2進数・8進数・10進数・16進数の変換表を書いておくので、ぜひご覧ください!
10進数 | 2進数 | 8進数 | 16進数 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
表を見ると、2進数は0と1の2種類の数字で、8進数は0〜7の8種類の数字で表されているのがわかります。
そして、16進数は0〜9の10種類の数字に加えて、A〜Fまでの6種類の文字、つまり、計16種類の数字と文字で表されるのがわかります。
Pythonで進数を表してみよう
ここまでで進数のことがわかったので、次は、Pythonで進数を表してみましょう!
今回のプログラムでは、2進数・8進数・16進数を10進数に表します。
ファイル名は、「number」としましょう。
そして、以下のコードを入力し、実行してください。
0b10100111
結果は「167」となると思います。
プログラムの意味は、「10100111」という2進数を10進数に変換すると「167」になるという意味です。
ちなみに、プログラム中の「b」は2進法という意味の「binary」の頭文字です。
では、次に以下のコードを入力し、実行してください。
0o1572
結果は「890」となると思います。
プログラムの意味は、「1572」という8進数を10進数に変換すると「890」になるという意味です。
ちなみに、プログラム中の「o」は8進法という意味の「octonary」の頭文字です。
では、最後に以下のコードを入力し、実行してください。
0x87AD
結果は「34733」となると思います。
プログラムの意味は、「87AD」という16進数を10進数に変換すると「34733」になるという意味です。
- 2進数を10進数に変換するときは、頭に「0b」を付けてその後に2進数を入力し、実行する
- 8進数を10進数に変換するときは、頭に「0o」を付けてその後に8進数を入力し、実行する
- 16進数を10進数に変換するときは、頭に「0x」を付けてその後に16進数を入力し、実行する
練習問題
それでは、最後に練習問題を解いてみましょう!
以下の進数をPythonで10進数に変換してください。
①2進数:11101110
②8進数:4350
③16進数:93BC
①238(「0b11101110」を実行)
②2280(「0o4350」を実行)
③37820(「0x93BC」を実行)
まとめ
いかがでしたか?
進数について理解できましたか?
コンピュータでは、進数の考え方は重要になってきますので、ぜひ覚えておいてくださいね!
今回のポイントはこちら↓
- 2進数を10進数に変換するときは、頭に「0b」を付けてその後に2進数を入力し、実行する
- 8進数を10進数に変換するときは、頭に「0o」を付けてその後に8進数を入力し、実行する
- 16進数を10進数に変換するときは、頭に「0x」を付けてその後に16進数を入力し、実行する