Pythonで学ぶ基数変換:初心者向けガイド
基数変換とは、ある進数(基数)で表現された数値を別の進数に変換することです。Pythonでは、10進数、2進数、8進数、16進数など、さまざまな進数の間で簡単に基数変換を行うことができます。この記事では、Pythonでの基数変換の方法を初心者向けにわかりやすく解説します。
基数変換の基本
まず、各進数について簡単に説明します。
- 2進数(バイナリ): 0と1の2つの数字を使って数を表します。コンピュータの内部でのデータ表現に使用されます。
- 8進数(オクタル): 0から7の8つの数字を使います。古いコンピュータシステムや一部の特殊なアプリケーションで使われます。
- 10進数(デシマル): 私たちが日常的に使う0から9までの数字を使った進数です。
- 16進数(ヘキサデシマル): 0から9の数字とAからFのアルファベット(10進数の10から15に相当)を使います。コンピュータのメモリアドレスやカラーコードなどでよく使用されます。
Pythonでの基数変換方法
Pythonでは、標準の組み込み関数を使って簡単に基数変換ができます。以下では、10進数を他の進数に変換する方法と、逆に他の進数から10進数に変換する方法を紹介します。
1. 10進数を他の進数に変換する
Pythonでは、bin()
, oct()
, hex()
といった関数を使って、10進数をそれぞれ2進数、8進数、16進数に変換できます。
# 10進数を2進数に変換
decimal_number = 42
binary_number = bin(decimal_number)
print(binary_number) # 結果: 0b101010
# 10進数を8進数に変換
octal_number = oct(decimal_number)
print(octal_number) # 結果: 0o52
# 10進数を16進数に変換
hexadecimal_number = hex(decimal_number)
print(hexadecimal_number) # 結果: 0x2a
これらの関数は、数値をそれぞれの進数に変換し、対応するプレフィックス(0b
, 0o
, 0x
)が付いた文字列を返します。
2. 他の進数を10進数に変換する
他の進数(2進数、8進数、16進数)を10進数に変換するには、int()
関数を使用します。int()
関数に変換したい数値の文字列と、その基数を引数として渡します。
# 2進数を10進数に変換
binary_str = "101010"
decimal_number_from_binary = int(binary_str, 2)
print(decimal_number_from_binary) # 結果: 42
# 8進数を10進数に変換
octal_str = "52"
decimal_number_from_octal = int(octal_str, 8)
print(decimal_number_from_octal) # 結果: 42
# 16進数を10進数に変換
hexadecimal_str = "2a"
decimal_number_from_hex = int(hexadecimal_str, 16)
print(decimal_number_from_hex) # 結果: 42
この方法を使えば、簡単に他の進数を10進数に変換することができます。
まとめ
Pythonでの基数変換は、非常に簡単かつ便利です。bin()
, oct()
, hex()
, int()
といった組み込み関数を使うことで、様々な進数の間での変換がスムーズに行えます。これを理解することで、データの扱い方がより柔軟になり、プログラミングのスキルが向上します。
コメント