binary coded decimal(XS-3), also called biased representation or Excess-N, is a numeral systemused 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):
* The smallest binary number represents the smallest value. (i.e. 0 - Excess Value)
* The greatest binary number represents the largest value. (i.e. 2N - Excess Value - 1)
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
algorithmthan 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.
Wikimedia Foundation. 2010.