# Homebuilt TTL and transistor CPUs - wierd logic

Tony Duell ard at p850ug1.demon.co.uk
Tue Jan 24 18:50:15 CST 2006

```> Balanced trinary means place values go up by three each, but instead

Personally, I prefer negabinary (base -2). It uses 2-state signals, but
the column values are powers of -2 : . . .16, -8, 4, -2, 1

Every postive and negative integer has a unique representation. The
adder works (obvuiously) with +ve and -ve numbers. Shift-and-and
multiplication works,  as does shift-and-subtract division (using
negabinary adders/subtractors). To negate a number, shift it left one bit
and add it to the origiginal number (this is multiplying by 11, which is
-1 of course)

negabinary    decimal
1100           -4
1101           -3
0010           -2
0011           -1
0000            0
0001            1
0110            2
0111            3
0100            4

Note that numbers of a odd-number of bits length (ingoring leading zeros)
are +ve, those of an even number of bits are -ve

Years ago I built a 4-bit negabinary adder. The full adder stage has 3
outputs (sum, carry, carry+1) since you have to be able to add 1+1
giveing 110 and therefore has 4 inputs (2 bits to sum, carry in from last
stage, carry in to last-but-one stage).

-tony

```