【Python】2進数の使い方を詳しく解説

Pythonは、初心者から上級者まで幅広く使われるプログラミング言語です。

その理由の一つは、様々なデータ型や計算方法が簡単に扱えることです。

今回は、Pythonで2進数を使いこなす方法をわかりやすく解説します。

目次から探す

Pythonでの2進数の表現方法

Pythonで2進数を表現する方法はいくつかあります。

ここでは、2進数リテラル、bin()関数format()関数、f-stringの4つの方法を紹介します。

2進数リテラル

Pythonでは、2進数を表すリテラルとして、数値の前に0bまたは0Bを付けることができます。

以下の例では、2進数の1010を10進数で表現しています。

binary_number = 0b1010
print(binary_number)  # 10進数で表示される
10

このように、0bを付けることで2進数リテラルを作成し、10進数に変換して表示することができます。

bin()関数

bin() 関数は、10進数の整数を2進数の文字列に変換します。

以下の例では、10進数の10を2進数の文字列に変換しています。

decimal_number = 10
binary_string = bin(decimal_number)
print(binary_string)  # 2進数の文字列で表示される
0b1010

このように、 bin() 関数を使って10進数を2進数の文字列に変換することができます。

format()関数

format() 関数を使って、10進数の整数を2進数の文字列に変換することもできます。

以下の例では、10進数の10を2進数の文字列に変換しています。

decimal_number = 10
binary_string = format(decimal_number, 'b')
print(binary_string)  # 2進数の文字列で表示される
1010

このように、 format() 関数を使って10進数を2進数の文字列に変換することができます。

format() 関数の第2引数に'b'を指定することで、2進数に変換されます。

f-string

Python 3.6以降では、f-string(フォーマット済み文字列リテラル)を使って、10進数の整数を2進数の文字列に変換することができます。

以下の例では、10進数の10が代入された変数decimal_numberを2進数の文字列に変換しています。

decimal_number = 10
binary_string = f"{decimal_number:b}"
print(binary_string)  # 2進数の文字列で表示される
1010

このように、f-stringを使って10進数を2進数の文字列に変換することができます。

f-string内で{}で変数を囲み、:の後にbを指定することで、2進数に変換されます。

以上の4つの方法を使って、Pythonで2進数を表現することができます。

それぞれの方法に特徴があるので、好みや使い勝手で選んで利用してください。

Pythonでの2進数の変換

Pythonでは、2進数と他の進数(10進数、16進数、8進数など)の変換が簡単に行えます。

この章では、それぞれの変換方法を詳しく解説していきます。

10進数から2進数への変換

10進数を2進数に変換する方法はいくつかあります。

ここでは、 bin() 関数、 format() 関数、f-stringを使った方法を紹介します。

bin()関数を使った方法

bin() 関数は、10進数を2進数の文字列に変換します。

以下の例では、10進数の10を2進数に変換しています。

num = 10
binary_num = bin(num)
print(binary_num)
0b1010

bin() 関数の結果は、0bというプレフィックスが付いた2進数の文字列になります。

format()関数を使った方法

format() 関数を使って、10進数を2進数の文字列に変換することもできます。

以下の例では、10進数の10を2進数に変換しています。

num = 10
binary_num = format(num, 'b') # 第2引数を'b'にすると2進数(バイナリ)になる
print(binary_num)
1010

format() 関数の結果は、プレフィックス0bが付かない2進数の文字列になります。

f-stringを使った方法

Python 3.6以降では、f-stringを使って10進数を2進数に変換することができます。

以下の例では、10進数の10を2進数に変換しています。

num = 10
binary_num = f"{num:b}" # {変数名:b} の形式で2進数に変換できる
print(binary_num)
1010

f-stringを使った方法でも、プレフィックス0bが付かない2進数の文字列になります。

2進数から10進数への変換

int()関数を使った方法

2進数の文字列を10進数に変換するには、 int() 関数を使います。

以下の例では、2進数の文字列'0b1010'を10進数に変換しています。

binary_num = '0b1010'
num = int(binary_num, 2) //第2引数に変換元の進数の基数を指定する
print(num)
10

int() 関数の第2引数に2を指定することで、2進数の文字列を10進数に変換できます。

他の進数から2進数への変換

hex()関数を使った方法

16進数の文字列を2進数の文字列に変換するには、 hex() 関数と bin() 関数を組み合わせて使います。

以下の例では、16進数の文字列'0xA'を2進数に変換しています。

hex_num = '0xA'
num = int(hex_num, 16) # 16進数を10進数に変換する
binary_num = bin(num) # 10進数を2進数に変換する
print(binary_num)
0b1010

16進数から2進数に直接変換するよりもシンプルであるため、この書き方をするのが一般的です。

oct()関数を使った方法

8進数の文字列を2進数の文字列に変換するには、 oct() 関数と bin() 関数を組み合わせて使います。

以下の例では、8進数の文字列'0o12'を2進数に変換しています。

oct_num = '0o12'
num = int(oct_num, 8)
binary_num = bin(num)
print(binary_num)
0b1010

16進数や8進数など、10進数以外の数値は一度10進数に変換してから2進数に変換するのがカンタンです。

以上で、Pythonでの2進数の変換方法です。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す