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. 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 nine's complemented (for subtraction) as easily as a binary number can be one's 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 the number, you have to subtract 3 (binary 11) if the number is less than decimal 10 and add three if the number is more than decimal 10.