【Python第4回】進数について知ろう【2進数・8進数・16進数】

Python

今回のブログでは、進数についてお伝えします。

進数と言われてピン!ときた方も、何それ美味しいの?という方もわかるような内容になってますので、ぜひ最後までご覧ください!

このブログを読むことで以下のことができるようになります。

  • 進数について理解することができる
  • 2進数、8進数、16進数をPythonで表示できるようになる
スポンサーリンク

進数とは?

進数とは、位取り記数法で表記された数のことを言います。

位取り記号法とは、N進法とも呼ばれます。
N進法では、N種類の数字や文字、記号を並べて数を表記します。

具体的にいうと、皆さんが普段使っているのは10進数です。
なぜかというと、0〜9の10種類の数字を並べて数を表記するからです。

そして、コンピュータの世界では、2進数・8進数・16進数が用いられます。

2進数・8進数・10進数・16進数の変換表を書いておくので、ぜひご覧ください!

10進数2進数8進数16進数
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

表を見ると、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進数を入力し、実行する
タイトルとURLをコピーしました