Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:techinf:assembler:zahlen:start [27.09.2021 17:14] – [Negative Zahlen - Zweierkomplement] sbel | faecher:informatik:oberstufe:techinf:assembler:zahlen:start [05.10.2022 18:38] (aktuell) – [Negative Zahlen - Zweierkomplement] Frank Schiebel | ||
---|---|---|---|
Zeile 49: | Zeile 49: | ||
{{ : | {{ : | ||
- | Die Zahl oben steht für '' | + | Die Zahl oben steht für '' |
+ | |||
+ | Die Zahl unten steht für '' | ||
+ | |||
+ | Eine negative Zahl hat also stets eine 1 an der höchstwertigen Stelle, denn die anderen Stellen können auf keinen Fall den neagtiven Wert ausgleichen: | ||
+ | |||
+ | Zahlen mit der Länge 8 Bit im Zweierkomplement haben also einen Wertebereich von '' | ||
+ | |||
+ | Die Darstellung im Zweierkomplement führt zu " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Addiert man zu '' | ||
+ | |||
+ | ==== Überlauf ==== | ||
+ | |||
+ | Beim Rechnen mit Zahlen in Zweierkomplementdarstellung lauert eine andere Gefahr: Ein Übertrag auf das Vorzeichenbit, | ||
+ | der sog. **Überlauf** ändert nämlich das Vorzeichen der Zahl! Dies passiert allerdings nur, wenn | ||
+ | nicht gleichzeitig auch ein **Übertrag** entsteht und Mikroprozessoren setzen auch nur dann das | ||
+ | Überlaufflag. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Bei der Addition von '' | ||
+ | ==== Zahlenringe für 4Bit-Zahlen ==== | ||
+ | |||
+ | Unten sieht man eine recht intuitive Darstellung der Situation als " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Zahl und Gegenzahl im Zweierkomplement ==== | ||
+ | |||
+ | Wenn man zu einer gegebenen Zahl im Zweierkomplement die Gegenzahl bestimmen möchte, kann man wie folgt vorgehen: | ||
+ | |||
+ | * '' | ||
+ | * Die invertierte Zahl ist '' | ||
+ | * Die Gegenzahl ist '' | ||
+ | |||
+ | Das klappt immer! | ||
+ | |||
+ | $$-Z = \overline{Z} +1 $$ | ||
+ |