def binary_to_decimal(b): """Wandelt Binärzahl b in Dezimalzahl um.""" d = 0 for digit in b: d = d*2 d = d + int(digit) return d print(binary_to_decimal("101010"))

Restwertalgorithmus: def decimal_to_binary(d): """Wandelt Dezimalzahl mit dem Restwertalgorithmus in Binärzahl um.""" b = "" while d > 0: r = d % 2 d = d // 2 b = str(r) + b return b print(decimal_to_binary(42))

def fill_zeros(b, digits): while len(b) < digits: b = "0" + b return b def binary_add(a,b): """Addiert zwei Binärzahlen beliebiger Länge.""" n = max(len(a), len(b)) a = fill_zeros(a, n) b = fill_zeros(b, n) out = "" carry = 0 index = n - 1 while index >= 0: digit_a = int(a[index]) digit_b = int(b[index]) sum = digit_a + digit_b + carry if sum == 0: out = "0" + out carry = 0 elif sum == 1: out = "1" + out carry = 0 elif sum == 2: out = "0" + out carry = 1 elif sum == 1: out = "1" + out carry = 1 index = index - 1 if carry != 0: out = str(carry) + out return out print(binary_add("101010", "10111"))

  • gf_informatik/zahlensysteme/binary_solutions.1747043943.txt.gz
  • Zuletzt geändert: 2025-05-12 09:59
  • von hof