Wieso ist das zweifache Vorhandensein der Null bei der Vorzeichen-Größe-notation problematisch für Computer?

2 Antworten

Ich nehme mal an, dass du Fließkommazahlen (floats) meinst – den Begriff “Vorzeichen-Größe-notation” habe ich in meinem Leben noch nie gehört.

Dass es sowohl +0 als auch -0 gibt, ist nicht weiter schlimm, da sie bei den meisten Rechenoperationen das gleiche Verhalten haben. Einzige Ausnahme ist die Multiplikation mit Unendlich, was aber so selten genutzt wird, dass es keine große Rolle spielt.

Ein Nachteil ist, dass dadurch ein möglicher Wert verschwendet wird (das heißt, es gibt nur 4.278.190.081 unterschiedliche 32-bit floats statt 4.278.190.082). Durch verschiedene NaN Repräsentationen werden aber wesentlich mehr Werte verschwendet, das kann man also kaum als Nachteil betrachten.

Überhaupt erscheint mir das Doppelte Vorhandensein der 0 eher nebensächlich im Vergleich zu den vielen anderen Nachteilen von Fließkommazahlen, die NaN, ±Infinity und das oft überraschende Rundungsverhalten mit sich bringen.


Kelec  13.03.2024, 08:10

Ich glaube eher dass es hier um die Vorteile der Zweierkomplementdarstellung geht.

Ein Unterschied zum Einerkomplement oder der Sign Magnitude Darstellung ist eben dass die 0 nur einmal vorkommt.

Das ist letztendlich eine Notwendigkeit um die Subtraktion über ein normales Addierwerk darstellen zu können, denn bei Darstellungen mit doppelter 0 geht das nicht so einfach da hier 2 Fälle auftreten können wie 1+0=1 und 1 + (-0) = 1 die zwar das selbe Ergebnis liefern aber die Binärdarstellung für 0 und -0 anders ist.

0

Du musst dann halt immer berücksichtigen, dass +0 = -0 ist.

Außerdem ist das Rechnen (bezüglich der elektronischen Realisierung) bei Vorzeichen-Betrag schwieriger, als z.B. im K2-Komplement. Das letztgenannte ist am einfachsten, da Addition und Subtraktion sehr gut kombiniert werden können.