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.

[edit] See also

In other languages