Pythonで16進数・2進数・8進数と10進数を変換する

Pythonでは10進数を16進数・8進数・2進数へ変換したり、逆に16進数・8進数・2進数を10進数に変換することができます。

今回は、10進数と16進数・8進数・2進数を相互に変換する方法を解説します。

10進数と16進数・8進数・2進数を変換する

10進数を16進数へ変換する hex・format

# 16進数へ変換する
hex(100)
#[結果] '0x64'

Pythonで10進数の値を16進数へ変換するには「hex」を使います。

10進数「100」→16進数「64」に変換しました。頭の「0x」は16進数という意味のプレフィックスです。

# 16進数へ変換する
format(100, 'x')
#[結果] '64'

Pythonで10進数の値を16進数へ変換するには「format」も使います。第二引数は「x」を指定します。

「format」を使うと、プレフィックス「0x」がつかないので扱いやすいですね。

16進数を10進数へ変換する int

# 10進数へ変換する
int('0x64',16)
#[結果] 100

int('64',16)
#[結果] 100

Pythonで16進数の値を10進数へ変換するには「int」を使います。

第一引数に16進数、第二引数に「16」を指定すると、10進数の数値に戻すことができます。16進数をあらわすプレフィックス「0x」はつけてもつけなくても10進数にすることができます。

10進数を2進数へ変換する bin・format

# 2進数へ変換する
bin(100)
#[結果] '0b1100100'

Pythonで10進数の値を2進数へ変換するには「bin」を使います。

10進数「100」→2進数「1100100」に変換しました。頭の「0b」は2進数という意味のプレフィックスです。

# 2進数へ変換する
format(100, 'b')
#[結果] '1100100'

Pythonで10進数の値を2進数へ変換するには「format」を使います。第二引数は「b」を指定します。

「format」を使うと、プレフィックス「0b」がつかないので扱いやすいですね。

2進数を10進数へ変換する int

# 10進数へ変換する
int('0b1100100',2)
#[結果] 100

int('1100100',2)
#[結果] 100

Pythonで2進数の値を10進数へ変換するには「int」を使います。

第一引数に2進数、第二引数に「2」を指定すると、10進数の数値に戻すことができます。2進数をあらわすプレフィックス「0b」はつけてもつけなくても10進数にすることができます。

10進数を8進数へ変換する oct・format

# 8進数へ変換する
oct(100)
#[結果] '0o144'

Pythonで10進数の値を8進数へ変換するには「oct」を使います。

10進数「100」→8進数「144」に変換しました。頭の「0o」は8進数という意味のプレフィックスです。

# 8進数へ変換する
format(100, 'o')
#[結果] '144'

Pythonで10進数の値を8進数へ変換するには「format」を使います。第二引数は「o」を指定します。

「format」を使うと、プレフィックス「0o」がつかないので扱いやすいですね。

8進数を10進数へ変換する int

# 10進数へ変換する
int('0o144',8)
#[結果] 100

int('144',8)
#[結果] 100

Pythonで8進数の値を10進数へ変換するには「int」を使います。

第一引数に8進数、第二引数に「8」を指定すると、10進数の数値に戻すことができます。8進数をあらわすプレフィックス「0o」はつけてもつけなくても10進数にすることができます。

 

これで16進数と10進数、2進数と10進数、8進数と10進数を相互に変換することができました。

以上、Pythonで16進数・2進数・8進数と10進数を変換する方法でした。

コメント