Welche Darstellung von ganzen Dezimalzahlen in Binärzahlen ist am verbreitetsten?
Ich kenne nun drei Möglichkeiten, wie man Dezimalzahlen in Binär darstellen kann:
Vorzeichen-Betrags-Darstellung
Einerkomplement
Zweierkomplement
Natürlich hat jede Darstellung gewisse vor und Nachteile. Ich frage mich aber, ob eine dieser Darstellungen weiter verbreitet ist als die anderen? Oder werden alle mehr oder weniger gleich oft verwendet?
2 Antworten
In den gängigen Hochsprachen wird immer das Zweierkomplement verwendet. Also C/C++/C#/Java/Python usw.
Der Nachteil des Einerkomplementes ist, dass die Zahl 0 doppelt vorkommt und zwar als +0 und -0. Das wurde früher sehr oft benutzt da es schneller geht, Computer waren langsam und Befehle kosteten wertvollen Speicher. Dafür kam es aber schnell zu Fehlfunktionen, wenn man auf "0" prüfte, im Register aber eine -0 lag.
Das Zweierkomplement verhindert solche Fehlfunktionen und ist deswegen heutzutage die erste Wahl da Speicher billig ist und der extra Befehl für das Zweierkomplement praktisch keine Zeit kostet.
Vorzeichen-Betrag wird nicht gerne benutzt weil man damit nicht einfach rechnen kann. Man muss für jeden Rechenschritt erst einmal eine Fallunterscheidung machen ob die Zahl positiv oder negativ ist. Beim Einer- oder Zweierkomplement kann man positive und negative Zahlen einfach so zusammen rechnen.
die meisten implementation sind wahrscheinlich 2er komplement