Pythonで学ぶ基数変換:初心者向けガイド

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()といった組み込み関数を使うことで、様々な進数の間での変換がスムーズに行えます。これを理解することで、データの扱い方がより柔軟になり、プログラミングのスキルが向上します。

関連記事

コメント

この記事へのコメントはありません。