0. Background
The exponent part of the IEEE Floating-Point Representation is encoded in a biased form. During my design of the ALU for the floating point, I need to find a way to extend the biased form for one bit without change the actual value which it’s representing and make it easier to detect the overflow and underflow during the calculation.
By the way, a $k$-bit biased number’s bias in this article is $ Bias = 2^{k - 1} - 1 $.
1. Conclusion & Provement
Suppose a $k$-bit biased numer and the actual value of its representation : $ X_kX_{k-1}…X_1 = \sum_{n=1}^{k}{X_n*2^{n-1}} - 2^{k-1} + 1$
To extend it to a $ k+1$ -bit number and its actual value:$X_k\overline{X_k}X_{k-1}…X_1 = \sum_{n=1}^{k+1}{X_n*2^{n-1}} - 2^{k} + 1$
Subtract their actual value and we got:
$$
\begin{align}
&\sum_{n=1}^{k}{X_n2^{n-1}} - 2^{k-1} + 1 - (\sum_{n=1}^{k+1}{X_n2^{n-1}} - 2^{k} + 1)\
=&(X_k2^{k-1} - X_k2^k) - \overline{X_k}2^{k - 1} - 2^{k - 1} + 2^{k}\
=&-X_k2^{k-1}-\overline{X_k}*2^{k-1} + 2^{k-1}\
=&2^{k - 1}(1-(X_k + \overline{X_k}))\
=&2^{k - 1}(1-1)\
=&0
\end{align}
$$
2. Generalization
When it comes to extend more than one bit, just keep extending one bit at a time.
For example:
$$
\begin{align}
Original(k\ bit):\qquad\qquad\qquad X_kX_{k-1}…X_1&\
k+1\ bit:\qquad \qquad \ \ X_k\overline{X_k}X_{k-1}…X_1&\
k+2\ bit:\qquad \quad \ X_k\overline{X_k}\overline{X_k}X_{k-1}…X_1&\
k+3\ bit:\qquad X_k\overline{X_k}\overline{X_k}\overline{X_k}X_{k-1}…X_1&\
……
\end{align}
$$
3. Shrink a biased form number
Consider the simplest case: shrink $ X_kX_{k-1}…X_1$ to $k-1$ bit.
If $X_kX_{k-1}$ can be represented as $X_{k-1}\overline{X_{k-1}}$ then it can be shrunk to one less bit without changing the actual value.
If $X_kX_{k-1}$ equals 11, the this $k-bit$ biased form number is bigger than the maximum which $k-1$ bit can represent.
If $X_kX_{k-1}$ equals 00, the this $k-bit$ biased form number is less than the minimum which $k-1$ bit can represent.
The complexer cases then is easy to generalize and understand.