Jewiki unterstützen. Jewiki, die größte Online-Enzyklopädie zum Judentum.
Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ... Vielen Dank für Ihr Engagement! (→ Spendenkonten) |
How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida |
Exzesscode
Der Exzesscode 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 0 bis 2n-1 als n-stellige Binärzahlen wie folgt codiert (hier für den Wertebereich 0..7):
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 hier der Wertebereich der Zahlen verschoben. Die Weite der Verschiebung ist für N > 0 immer eine Zweierpotenz 2N -1. Man spricht daher auch von einem Exzess-N-Code. Die Exzess-0-Codierung entspricht der Standardcodierung.
Im Folgenden sind alle möglichen Exzess-N-Codes für binär dreistellige Zahlen angegeben. Der Code selbst bleibt für alle N gleich, nur die entsprechenden Zahlen ändern sich.
Codierung | Verschiebung | Code | |||||||
---|---|---|---|---|---|---|---|---|---|
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
Exzess-0 | 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Exzess-1 | 20=1 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
Exzess-2 | 21=2 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 |
Exzess-3 | 22=4 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 |
Einen besonderen Stellenwert hat der Exzess-n-Code (also N = n, im Beispiel: Exzess-3). 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) würde der Exzess-4-Code also die Zahlen von -8 bis 7 repräsentieren, bei fünfstelligen Codes wäre es der Exzess-5-Code und der Wertebereich von -16 bis 15. Man spricht im Fall N = n auch kurz von der Exzess-Codierung, lässt den Zahlenwert N also weg.
Um eine Zahl a zu codieren, wählt man die kleinste Zahl b im Wertebereich und bildet die Differenz: d = |a - b|. Das Ergebnis wird dann wie üblich codiert.
Umgekehrt decodiert man eine Exzess-N-codierte Zahl, indem man sie zunächst nach der üblichen Codierung in eine Zahl umwandelt und dann die kleinste Zahl des Wertebereichs addiert.
Rechenbeispiel
Aufgabe: Codiere die Zahl -79 in der Exzess-8-Codierung
Die Codelänge beträgt n = 8 also gilt für die übliche Binärdarstellung:
000000002 = 010
und
111111112 = 25510
Da die Zahl Exzess-8-codiert werden soll, verschiebt sich der Wertebereich auf:
00000000Exzess-8 = -12810
bzw.
11111111Exzess-8 = +12710
Codierung:
Die zu codierende Zahl ist a = -79. Die kleinste Zahl im Wertebereich ist b = -128 Die Differenz ist d = |-79 - (-128)| = 49 In der Standardcodierung ist d = 4910 = 001100012
Damit lautet die Lösung: a = -7910 = 00110001Exzess-8
Die Decodierung verläuft analog: 00110001 lässt sich nach der Standardcodierung zu 49 decodieren. Danach wird die kleinste Zahl des Wertebereichs addiert, hier -128, also: 49 - 128 = -79.
Anwendung
Exzesscode ist tolerant bezüglich binärer Addition/Subtraktion und lexikalischem Größenvergleich. Im IEEE 754-Standard zur Darstellung von Gleitkommazahlen wird der Exponent in einer Exzesscode-ähnlichen Form kodiert. Integerwerte werden allerdings im Rechenwerk moderner Hardware zumeist im Zweierkomplement verarbeitet.
Siehe auch
Dieser Artikel basiert ursprünglich auf dem Artikel Exzesscode aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar. |