Integers: excess/bias
One disadvantage of 2C:
Can't sort values just using the bit representation.
Would look like negative numbers were greater than positive numbers.
Another idea:
Consider the unsigned values for a 3-bit representation
representation value excess-4
000 0 -4
001 1 -3
010 2 -2
011 3 -1
100 4 0
101 5 1
110 6 2
111 7 3
Represent negative values, but keep the values in representation order
First half of the representations for negative, second half for positive
This is called excess, or biased, representation.
Each value is shifted by a constant amount; in this case the bias is 4.
Since there are 3 bits, the bias value is 2(3-1) = 4
In general, for an N-bit representation, we will have half of the values negative
and half of the values non-negative if the bias is 2N-1.
However, the bias could be any number < 2N - 2
if the range of values includes both positive and negative numbers.
Range of values: N-bit excess K
Number of values: 2N
Minimum negative value: -K
Maximum positive value: 2N -1 - K
Converting base 10 to excess K
Add K to the number
Convert to unsigned binary
Converting excess K to base 10
Convert unsigned binary value to base 10
Subtract K
Disadvantage: Can't use unsigned binary hardware to do addition.
Excess notation is used as part of floating point representation.