Excess-3
From Wikipedia, the free encyclopedia
Excess-3 binary coded decimal (XS-3), also called biased representation or Excess-N, is a numeral system used on some older computers that uses a pre-specified number N as a biasing value. It is a way to represent values with a balanced number of positive and negative numbers. In XS-3, numbers are represented as decimal digits, and each digit is represented by four bits as the BCD value plus 3 (the "excess" amount):
| Decimal | Binary | Decimal | Binary |
|---|---|---|---|
| 0 | 0011 | 9 | 1100 |
| 1 | 0100 | 8 | 1011 |
| 2 | 0101 | 7 | 1010 |
| 3 | 0110 | 6 | 1001 |
| 4 | 0111 | 5 | 1000 |
To encode a number such as 127, then, one simply encodes each of the decimal digits as above, giving (0100, 0101, 1010).
The primary advantage of XS-3 coding over BCD coding is that a decimal number can be nines' complemented (for subtraction) as easily as a binary number can be ones' complemented; just invert all bits.
Adding Excess-3 works on a different algorithm than BCD coding or regular binary numbers. When you add two XS-3 numbers together, the result is not an XS-3 number. For instance, when you add 1 and 0 in XS-3 the answer seems to be 4 instead of 1. In order to correct this problem, when you are finished adding each digit, you have to subtract 3 (binary 11) if the digit is less than decimal 10 and add three if the number is greater than or equal to decimal 10.

