Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:zahlensysteme:binary_solutions [2026-04-28 15:30] – [Binär-Addition] hofgf_informatik:zahlensysteme:binary_solutions [2026-05-25 05:20] (aktuell) hof
Zeile 85: Zeile 85:
   * Beide Strings paarweise [[gf_informatik:zahlensysteme:binary_collection#rueckwaerts|von rechts nach links]] durchlaufen.   * Beide Strings paarweise [[gf_informatik:zahlensysteme:binary_collection#rueckwaerts|von rechts nach links]] durchlaufen.
   * An jeder Position das Bit aus `a` und `b` sowie einen allfälligen Übertrag addieren.   * An jeder Position das Bit aus `a` und `b` sowie einen allfälligen Übertrag addieren.
 +    * Achtung: Die einzelnen Positionen eines Strings sind die Buchstaben `'0'` oder `'1'`, nicht die Zahlen `0` oder `1`. Wandle sie mit `int()` in Zahlen um!
   * Das Resultat-Bit an der Position ist `1`, wenn die Summe `1` oder `3` ist, sonst `0`.   * Das Resultat-Bit an der Position ist `1`, wenn die Summe `1` oder `3` ist, sonst `0`.
     * Tipp: also genau das Resultat von `summe % 2`...     * Tipp: also genau das Resultat von `summe % 2`...
Zeile 90: Zeile 91:
     * Also genau dem Resultat von ...?     * Also genau dem Resultat von ...?
  
-<bottom-exercise id="binary-add" hidesolution>+<bottom-exercise id="binary-add" showsolution>
 <script type="text/x-starter"> <script type="text/x-starter">
 def binary_add(a, b): def binary_add(a, b):
Zeile 127: Zeile 128:
         digit_b = int(b[index])         digit_b = int(b[index])
         sum = digit_a + digit_b + carry         sum = digit_a + digit_b + carry
-        bit = sum % 2 +        bit = sum % 2     # Resultat-Bit ist 1, wenn die Summe ungerade ist 
-        carry = sum // 2+        carry = sum // 2  # Übertrag ist 1, wenn die Summe 2 oder 3 ist
         out = str(bit) + out         out = str(bit) + out
  
Zeile 140: Zeile 141:
 </script> </script>
 </bottom-exercise> </bottom-exercise>
 +
  
 ### Binär-Subtraktion ### Binär-Subtraktion
-Für die Subtraktion im Binärsystem wird das _Zweierkomplement_ des Subtrahends _addiert_. Wir benötigen also Code für das Berechnen des Zweierkomplements:+Für die Subtraktion im Binärsystem wird das {{gf_informatik:gfif_zahlensysteme_dossier_hof.pdf#subsection.3.4|Zweierkomplement}} des Subtrahends _addiert_. Wir benötigen also Code für das Berechnen des Zweierkomplements:
  
-1. Auffüllen auf die gewünschte Anzahl Bits+1. Auffüllen mit Nullen auf die gewünschte Anzahl Bits
 2. Invertieren 2. Invertieren
 3. `"1"` addieren mit Binär-Addition 3. `"1"` addieren mit Binär-Addition
  
-Der Code aus der vorherigen Aufgabe wird also benötigt.+Der Code aus der vorherigen Aufgabe wird für die Addition benötigt.
  
-<bottom-exercise id="binary-subtract" hidesolution style="max-height:20lh;">+<bottom-exercise id="binary-subtract" showsolution style="max-height:20lh;">
 <script type="text/x-starter"> <script type="text/x-starter">
 def invert(b): def invert(b):
  • gf_informatik/zahlensysteme/binary_solutions.1777390207.txt.gz
  • Zuletzt geändert: 2026-04-28 15:30
  • von hof