Exzesscode

Der Exzesscode oder auch Überschuss-Code ist eine Binärkodierung, mit der sich vorzeichenbehaftete Zahlen binär repräsentieren lassen. Die Codierung basiert auf einer Wertebereichsverschiebung.

Üblicherweise werden positive Zahlen im Wertebereich bis als -stellige Binärzahlen wie folgt codiert (hier für den Wertebereich ; Standardkodierung):

dezimal
abgebildet
binär
abgebildet
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Um die binäre Darstellung von negativen Zahlen zu ermöglichen, wird hierbei der Wertebereich der Zahlen verschoben. Die Weite der Verschiebung ist normalerweise im Bereich , wobei und ist. Man spricht daher auch von einem Exzess-k-Code. Die Exzess-0-Codierung entspricht der Standardcodierung (siehe oben).

Im Folgenden sind die gebräuchlichen Exzess-k-Codes für binär dreistellige Zahlen angegeben.

Codierung Verschiebung Code
000 001 010 011 100 101 110 111
Exzess-0 0 0 1 2 3 4 5 6 7
Exzess-1 1 −1 0 1 2 3 4 5 6
Exzess-2 2 −2 −1 0 1 2 3 4 5
Exzess-3 3 −3 −2 −1 0 1 2 3 4
Exzess-4 4 −4 −3 −2 −1 0 1 2 3

In der nächsten Tabelle sind einige mögliche Exzess-k-Codes für binär vierstellige Zahlen aufgelistet.

Codierung Verschiebung Code
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Exzess-0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Exzess-1 1 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Exzess-2 2 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Exzess-3 3 −3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11 12
Exzess-4 4 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8 9 10 11
Exzess-8 8 −8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7

Historische Bedeutung hat der (4-Bit-)Exzess-3-Code, der mit dem Exzess-3 in der obigen Tabelle identisch ist – er bietet Vorteile bei der Darstellung von und dem Rechnen mit Dezimalzahlen.

Einen sehr wichtigen und besonderen Stellenwert hat hier der Exzess-k-Code, der hier im obigen Beispiel um acht Stellen verschoben ist (also allgemein , im Beispiel: Exzess-8). Er teilt den Wertebereich der Zahlen in zwei gleich große Hälften von negativen und nichtnegativen Zahlen. Bei binär vierstelligen Codes (Dezimal 0 bis 15) repräsentiert der Exzess-8-Code also die Zahlen von −8 bis 7, bei fünfstelligen Codes wäre es der Exzess-16-Code und der Wertebereich von −16 bis 15. Man spricht im Fall auch kurz von der Exzess-Codierung, lässt den Zahlenwert k also weg. Wenn zum Beispiel beim Exponenten von der Exzess-Darstellung die Rede ist, ist in fast allen Fällen dieser ausgeglichene Exzesscode (halb negativ und halb nichtnegativ) gemeint.

Um eine Zahl a zu codieren, wählt man die kleinste Zahl b im Wertebereich und bildet die Differenz: . Das Ergebnis wird dann wie üblich codiert.

Umgekehrt decodiert man eine Exzess-k-codierte Zahl, indem man sie zunächst nach der üblichen Codierung in eine Zahl umwandelt und dann die kleinste Zahl des Wertebereichs addiert.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.