Page 562 - Introduction to Information Optics
P. 562
9.5. Conversion between Different Number Systems 547
Thus, conversion of a number X from NSD to negabinary is transformed
to the addition of two negabinary numbers A and B, where the bit c? t
(i' = 0, 1,..., AT—1) is the unsigned binary value of each digit x,, and B is
formed by putting Is to the left of Is in .x (- and padding Os to the other bit
positions. Let the negabinary form of X be Z. Notice that for the same num-
ber of digits, NSD can represent a larger integer value than the normal
negabinary. An N-digit NSD representation can have a value in the range
N
[ — (2 ~ I), 2^—1]. Thus an N-digit NSD number X should be converted to
an (N + 2)- digit negabinary number Z.
In negabinary addition, either a positive or a negative carry (denoted by
c, + j and c'i+ b respectively) may be generated from the ith digit position to the
(i + l)th digit position. The speed at which negabinary numbers A and B can
be added is restricted by the time taken by the carry to propagate serially from
the LSB to the MSB. To speed up the conversion process, the carry-lookahead
principle can be employed.
In the carry-lookahead technique, the carries at all bit positions of each
block must be generated simultaneously. Thus, the logical expression for carry
generation and propagation must be expressed as a function of the operand
bits. It is usually in the form of a sum of product, which can be extended from
the LSB to the MSB. For a negabinary full-adder, the carries to the next higher
bit position can written as
(9.87)
(9.88)
and
rf+ l=(a i© bjc.i + (a t © b t + ef jcf. (9.89)
Let us define two auxiliary functions as
G, = a^Tbi, (9.90)
and
P,. =H7©Tj, (9.91)
then we can derive
+
c 0 - 0, to = 0, (9.92)

