The negative radix-2 number system (base -2) is also called negabinary number system. The algebraic value of a n-bit number represented in this system is given by
with
,
or
.
It is apparent that bits in odd positions are negative whereas bits in even positions are positive.
Addition in this number system is trivial if one makes use of generalized full- and half-adders (GFAs and GHAs; see a previous post). The next figure represents addition of two 6-bit numbers, , with
and
.
Note that the result of the first row of GFAs must be inverted to keep the sign negative only in odd positions. Thus, we use a row of GHAs in order to obtain the required value represented in negabinary.
It would be interesting to know if such a system has been ever used in practice (at most, I’ve found a US patent 6832235). This structure does not show any advantage compared to a two’s complement one. Anyway, this is just an example where generalized FA and HAs come handy.
On the other hand, why do we have two carry-chains? Can we do better? Obviously, this number system is not redundant, so we need at least one carry-chain or, in other words, a carry-propagate adder (CPA). But, why two? The answer may lie in the backyard of “Digit-Set Conversion” theory.
Just a comment: Amanzingly enough, I didn’t realize one can present a binary adder without explicitly describing any Boolean formula!





