Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m114:learningunits:lu01:binaereganzzahlen [2025/02/06 13:45] – [Negative Zahlen als Zweierkomplement] kmaurizimodul:m114:learningunits:lu01:binaereganzzahlen [2025/02/27 09:45] (aktuell) kmaurizi
Zeile 43: Zeile 43:
 Mehr dazu erfahren Sie im Kapitel [[modul:m114:learningunits:lu02:binaermath]]. Mehr dazu erfahren Sie im Kapitel [[modul:m114:learningunits:lu02:binaermath]].
  
-Für positive Zahlen bedeutet das Zweierkomplement nur, dass die erste binäre Stelle Bit '0' sein muss.+Für positive Zahlen: Im Zweierkomplement ist das höchstwertige Bit das Vorzeichenbit. Ist es 0, handelt es sich um eine positive Zahl, deren Wert sich direkt aus der normalen Binärdarstellung ergibt.
  
 Für negative Zahlen gehen Sie wie folgt vor: Für negative Zahlen gehen Sie wie folgt vor:
Zeile 60: Zeile 60:
   - Subtrahieren Sie 1 von der Zahl: -12<sub>10</sub> - 1<sub>10</sub> = **-13<sub>10</sub>**   - Subtrahieren Sie 1 von der Zahl: -12<sub>10</sub> - 1<sub>10</sub> = **-13<sub>10</sub>**
  
-== Umwandlung ins Zweierkomplement von Hand ==+=== Umwandlung ins Zweierkomplement von Hand ==
 +<WRAP center round tip 60%> 
 +Trick zur schnelleren Umwandlung (einer negativen in eine positive Binärzahl oder umgekehrt) von Hand: Von rechts angefangen, alle Nullen und die erste Eins abschreiben und alle nachfolgenden Stellen invertieren. 
 +</WRAP> 
 Dieser Programmablaufplan zeigt, wie Sie das Zweierkomplement einer binären Zahl ohne zu rechnen erhalten. Dieser Programmablaufplan zeigt, wie Sie das Zweierkomplement einer binären Zahl ohne zu rechnen erhalten.
 Dies stellt eine Alternative zum oben beschriebenen Vorgehen dar: Dies stellt eine Alternative zum oben beschriebenen Vorgehen dar:
Zeile 66: Zeile 70:
 {{:modul:m114:learningunits:lu01:zweierkomplement.png?600|}} {{:modul:m114:learningunits:lu01:zweierkomplement.png?600|}}
  
-=== Wieso kein Vorzeichen? === 
-Auf den ersten Blick scheint die Lösung mit dem Zweierkomplement umständlich. 
-Wäre es nicht einfacher, das erste Bit als Vorzeichen zu verwenden? 
-Zum Beispiel: Das erste Bit ist ...  
-  * '0' => positive Zahl. 
-  * '1' => negative Zahl. 
  
-Zum Speichern der Zahlen ist diese Lösung problemlos. 
-Weniger als 1 Bit um das Vorzeichen darzustellen, können wir gar nicht verwenden. 
- 
-Wie sieht es aber beim Rechnen mit diesen Zahlen aus? 
- 
-| <code> 
-    6 
-  + 9 
-  --- 
-   15  
-</code> | <code> 
-  0000 0110 
-+ 0000 1001 
------------ 
-  0000 1111 
-</code> | <code> 
-  12 
--  4 
----- 
-   8 
-</code> | <code> 
-  0000 1100 
-- 0000 0100 
------------ 
-  0000 1000 
-</code> 
-| <code> 
-   18 
-+  -6 
------ 
-   12 
-</code> | <code> 
-  0001 0010 
-+ 1000 0110 
------------ 
-  0000 1100 
- 
-</code> | <code> 
-  -5 
--  3 
----- 
-  -8 
-</code> | <code> 
-  1000 0101 
-- 0000 0011 
------------ 
-  1000 1000 
-</code> | 
- 
-<WRAP center round info 60%> 
-In der ersten Zeile konnten wir noch einfach wie im Dezimalsystem rechnen. 
-Sobald negative Zahlen hinzu kommen, müssen wir aber das Vorzeichen separat behandeln. 
-Wir stellen fest, dass wir unterschiedliche Rechenregeln für positive und negative Zahlen brauchen. 
-Deshalb ist die Lösung mit dem ersten Bit als Vorzeichen nicht sinnvoll. 
-</WRAP> 
  
 ===== Wrap around ===== ===== Wrap around =====
  • modul/m114/learningunits/lu01/binaereganzzahlen.1738845953.txt.gz
  • Zuletzt geändert: 2025/02/06 13:45
  • von kmaurizi