Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:zahlensysteme:binary_solutions [2025-05-17 08:06] – [Binär-Subtraktion] hof | gf_informatik:zahlensysteme:binary_solutions [2025-05-17 08:12] (aktuell) – [Ausprobieren] hof | ||
---|---|---|---|
Zeile 69: | Zeile 69: | ||
<code python> | <code python> | ||
def invert(b): | def invert(b): | ||
- | | + | |
result = "" | result = "" | ||
for digit in b: | for digit in b: | ||
Zeile 79: | Zeile 79: | ||
def zweierkomplement(b, | def zweierkomplement(b, | ||
+ | """ | ||
# 1) Auffüllen auf stellen bits | # 1) Auffüllen auf stellen bits | ||
b = fill_zeros(b, | b = fill_zeros(b, | ||
Zeile 87: | Zeile 88: | ||
def binary_subtraction(a, | def binary_subtraction(a, | ||
+ | """ | ||
complement = zweierkomplement(b, | complement = zweierkomplement(b, | ||
result = binary_add(a, | result = binary_add(a, | ||
Zeile 92: | Zeile 94: | ||
return result | return result | ||
</ | </ | ||
- | | + | |
+ | ### Ausprobieren | ||
+ | |||
+ | Kopiere alle Funktionen oben in die gleiche Python-Datei. Überprüfe danach die Funktionsweise: | ||
+ | |||
+ | <code python> | ||
+ | a_dec = 42 | ||
+ | b_dec = 19 | ||
+ | a_bin = decimal_to_binary(a_dec) | ||
+ | b_bin = decimal_to_binary(b_dec) | ||
+ | difference_bin = binary_subtraction(a_bin, | ||
+ | difference_dec = binary_to_decimal(difference_bin) | ||
+ | print(f" | ||
+ | </ | ||
+ | |||
+ | Resultat: | ||
+ | < | ||
+ | 42 - 19 = 101010 - 10011 = 00010111 = 23 | ||
+ | </ | ||