See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Exzesscode – Wikipedia

Exzesscode

aus Wikipedia, der freien Enzyklopädie

Der Exzesscode ist eine Binärkodierung, mit der sich vorzeichenbehaftete Dezimalzahlen binär repräsentieren lassen. Die Codierung basiert auf einer Wertebereichsverschiebung.

Üblicherweise werden positive Dezimalzahlen im Wertebereich 0 bis 2n-1 als n-stellige Binärzahlen wie folgt codiert (hier für den Wertebereich 0..7):

Dezimalzahl Binärcode
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, ist es erforderlich, den Wertebereich der Dezimalzahlen zu verschieben. Die Weite der Verschiebung ist immer eine Zweierpotenz 2N-1. Man spricht daher auch von einem Exzess-N-Code.

Im Folgenden sind alle möglichen Exzess-N-Codes für dreistellige binäre Zahlen angegeben. Der Code selbst bleibt für alle N gleich, nur die entsprechenden Dezimalzahlen ändern sich. Die Exzess-0-Codierung entspricht der Standardcodierung.

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

Einen besonderen Stellenwert hat der Exzess-n-Code (also N = n, im Beispiel: Exzess-3). Er teilt den Wertebereich der Dezimalzahlen in zwei gleich große Hälften von negativen und positiven Zahlen (wenn man die 0 als positive Zahl auffasst). Bei 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 Dezimalzahl 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 Dezimalzahl umwandelt und dann die kleinste Zahl des Wertebereichs addiert.


[Bearbeiten] 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.


[Bearbeiten] 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.

[Bearbeiten] Siehe auch


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -