Python の 2 進数と 10 進数のコンバーター

Python の基本アルゴリズムを使用して、値を 10 進数から 2 進数に、および 2 進数から 10 進数に変換します。

エディターで試してみる

概要

コンピューターはデータをバイナリ形式 (基数 2、0 と 1 を使用) で表しますが、人間は 10 進形式 (基数 10) で作業します。これらのシステム間の変換は、コンピューター エンジニアリングにおいて非常に重要です。

10 進数から 2 進数への変換は、数値を 2 で割って余りを先頭に追加することを繰り返すことで実現されます。

2 進数から 10 進数への変換は、ビットを左から右に繰り返し、2 の累乗でスケールされたバイナリ値を累積することによって実現されます。

コードと実行の出力

ネイティブのバイナリ表現ロジックに一致するカスタム アルゴリズム コンバータ。

def decimal_to_binary(n):
    if n == 0:
        return "0"
    binary = ""
    while n > 0:
        binary = str(n % 2) + binary
        n //= 2
    return binary

def binary_to_decimal(b_str):
    decimal = 0
    for digit in b_str:
        decimal = decimal * 2 + int(digit)
    return decimal

dec_val = 29
bin_val = "11101"

print(f"Decimal {dec_val} to Binary: {decimal_to_binary(dec_val)}")
print(f"Binary '{bin_val}' to Decimal: {binary_to_decimal(bin_val)}")
端子出力
Decimal 29 to Binary: 11101
Binary '11101' to Decimal: 29

段階的な実装

  • 低レベルのビット単位の操作と権限マッピング
  • ネットワークIPアドレスオクテット変換ユーティリティ
  • 基本的なハードウェア マシン サイクルを理解する

よくある質問

Python には基本変換用の組み込みメソッドがありますか?

はい。 `bin(number)` を使用してバイナリに変換し (「0b」というプレフィックスが付いた文字列を返します)、`int(binary_string, 2)` を使用して Base-2 文字列を解析し直すことができます。

関連トピック