Code excédent 3 (Excess-3)
La variante du BCD qui ajoute trois à chaque chiffre et obtient en échange la soustraction presque gratuitement.
L'Excess-3 stocke le chiffre décimal d sous la valeur binaire d+3 : zéro devient 0011 et neuf 1100. Le décalage paraît arbitraire et ne l'est pas : il rend le code autocomplémentaire. Inverser les bits donne le complément à neuf — 4 s'écrit 0111, inversé 1000, soit 5, et 9−4 = 5. La soustraction peut donc se faire par une addition et un inverseur plutôt qu'avec un soustracteur dédié, ce qui, sur une calculatrice à relais, faisait la différence entre des centaines de composants et une poignée.
Bonus : aucune valeur de chiffre valide n'est composée uniquement de zéros. Une position de chiffre sans aucune tension forme donc un motif invalide plutôt qu'un zéro, si bien qu'une ligne morte ou un relais qui n'a pas collé se distinguait du chiffre zéro — une distinction que les premières machines n'avaient aucun autre moyen de faire. George Stibitz a employé ce codage dans les machines à relais des Bell Labs, d'où son nom occasionnel de code de Stibitz. L'addition demande une correction de ±3 selon qu'une retenue est sortie ou non, et c'était le prix à payer.