I've started a logic design class where there is a chapter on binary codes and their computing (addition and subtraction). While I grasp easily the representation of negative values using sign-magnitude, one's complement, and two's complement, I'm confused about the excess-$N$ one. I've been on Wikipedia and all but I seem not to get it.
Can anyone please explain to me using examples for, let's say, excess-3 and excess-8?
There is also the value of the magic number; in my book it's $2^{(N-1)}$, while on the net I can find $2^{(N+1)}$.
Excess-N notation shifts all values by N. That is, in excess-N notation, the number represented by a binary code is N less than the unsigned value you would normally assign to that code.
For example, in excess-3 notation, the string '0000' (which is 0 in unsigned binary) represents 0 - 3 = -3. The string '0100' (which is 4 in unsigned binary) represents 4 - 3 = 1.
It's quite common to see excess-N notation when denoting the exponent of a floating point numbers. For example, 32-bit floating point numbers often use 8 bits in excess-127 notation to represent the exponent.