To my knowledge there are two ways to process the sign-bits of two signed numbers: the very well-known sign-extension method where the sign-bit is pushed forward based on the fact that , with
, and, the correction term method, based on the formula
, with
being the inverse of
.
Let’s illustrate by example: let and
be two signed numbers, n-bit and (n-1)-bit long, respectively. Their algebraic value in two’s complement representation is given by,
and,
.
If we add both numbers, we obtain,
,
and the term must be specially processed to get the final result in two’s complement representation. Now, applying sign-extension to the term yields,
and we are done. Alternatively, we can apply the correction term method, that is,
. And, to get rid of the -1 we apply the fact that
, that is,
.
What we obtain are just constant terms which can be easily processed.
In general, the sign-extension method incurs in higher fan-out of the operands, whereas the correction-term method suffers from additional inputs of the first-stage of processing. In any case, it is worth to ponder both options.