# Exzess-q (Biased) visualisieren: Charakteristik mit Bias q

> Exzess-q-Codierung interaktiv: speichert x als x + q in n Bit. Wird in IEEE-754-Charakteristiken eingesetzt (Bias 127 bei float, 1023 bei double).

Adresse: https://marckimmel.de/informatik/zahlenkodierungen/exzess-q
English version: https://marckimmel.de/en/informatik/zahlenkodierungen/exzess-q.md

Codiert ganze Zahlen mit Verschiebung um einen festen Bias q. Lexikografisch sortierbar.

Die Exzess-q-Codierung c_(EX-q,n) addiert vor dem Codieren einen festen Bias q zur Zahl und codiert das Ergebnis binär: c_(EX-q,n)(x) := c_(2,n)(x + q). Der Wertebereich reicht von −q bis 2^n − 1 − q; mit dem Standard-Bias q = 2^(n-1) − 1 wird er symmetrisch und enthält etwa gleich viele positive wie negative Werte. Codiert wird durch x + q binär in n Bit, decodiert durch binäre Decodierung gefolgt vom Abziehen von q. Bei Addition und Subtraktion addiert oder subtrahiert man die Codes binär und korrigiert den Bias q einmal nach: bei Addition wird q einmal abgezogen, bei Subtraktion einmal addiert. Eine angenehme Eigenschaft ist die lexikografische Sortierung der Bitmuster: sie liegen in derselben Reihenfolge wie die codierten Zahlen, sodass die Hardware Codes direkt vergleichen kann. Bitmuster mit führender 0 entsprechen negativen Zahlen, anders als bei 2-Komplement. Bereichsüberläufe sind hier nicht zyklisch interpretierbar, sondern liefern undefinierte Ergebnisse.

Die Exzess-q-Codierung wird in der Gleitkomma-Codierung c_(GK,k,n) für den Exponenten verwendet. IEEE 754 nutzt dafür: binary16 mit n = 5, q = 15; binary32 (float) mit n = 8, q = 127; binary64 (double) mit n = 11, q = 1023; binary128 mit n = 15, q = 16383. Dank der lexikografischen Sortierung können Float-Größenvergleiche zum Großteil als Integer-Vergleich auf den Bitmustern laufen.

## Weiter

- [Zahlenkodierungen](https://marckimmel.de/informatik/zahlenkodierungen.md)
