Excess-3
Die BCD-Variante, die zu jeder Ziffer drei addiert und dafür die Subtraktion fast geschenkt bekommt.
Excess-3 speichert die Dezimalziffer d als Binärwert d+3. Die Null wird so zu 0011, die Neun zu 1100. Die Verschiebung sieht willkürlich aus, ist es aber nicht: Sie macht den Code selbstkomplementierend. Bitweise Invertierung ergibt das Neunerkomplement – 4 ist 0111, invertiert 1000, also 5, und 9−4 = 5. Subtraktion lässt sich damit als Addition plus Inverter ausführen statt mit einer eigenen Subtrahierschaltung, was bei einem Relaisrechner den Unterschied zwischen Hunderten Bauteilen und einer Handvoll ausmachte.
Der Bonus liegt darin, dass kein gültiger Ziffernwert aus lauter Nullen besteht. Eine Ziffernposition ganz ohne Spannung bildet ein ungültiges Muster statt einer Null, sodass sich eine tote Leitung oder ein nicht angezogenes Relais von der Ziffer null unterscheiden ließ – eine Unterscheidung, die frühe Maschinen sonst nicht treffen konnten. George Stibitz nutzte die Kodierung in den Relaismaschinen der Bell Labs, weshalb sie manchmal Stibitz-Code heißt. Die Addition braucht eine Nachkorrektur um ±3, je nachdem ob ein Übertrag entstand, und das war der Preis.