Iggy et al.,
This might interest some of <you> out there:
http://www.trinary.cc/
Yep. Interestingly there is an alternate formulation known as the
*Balanced* trinary number system. (One of the folks around here wants to
label it "BaTeNuS".)
The idea is that the digits, rather than being 0, 1, 2 for each
place value, are (-1), 0, 1, meaning subtract, don't do either, or add the
place value in which that digit appears. For convenience I'll write (-1) as
"n" below, though in (LaPlace's?) original work it was written as 1 with an
overstrike.
Decimal Batenus Explanation
...
-9 n00 (-1) * 3^2 + 0 + 0
-8 n01 (-1) * 3^2 + 0 + 1 * 3^0
-7 n1n (-1) * 3^2 + 1 * 3^1 + (-1) * 3^0
-6 n10 (-1) * 3^2 + 1 * 3^1 + 0
-5 n11 (-1) * 3^2 + 1 * 3^1 + 1 * 3^0
-4 nn 0 + (-1) * 3^1 + (-1) * 3^0
-3 n0 0 + (-1) * 3^1 + 0
-2 n1 0 + (-1) * 3^1 + 1 * 3^0
-1 n 0 + 0 + (-1) * 3^0
0 0 0 + 0 + 0
1 1 0 + 0 + 1 * 3^0
2 1n 0 + 1 * 3^1 + (-1) * 3^0
3 10 0 + 1 * 3^1 + 0
4 11 0 + 1 * 3^1 + 1 * 3^0
5 1nn 1 * 3^2 + (-1) * 3^1 + (-1) * 3^0
6 1n0 1 * 3^2 + (-1) * 3^1 + 0
7 1n1 1 * 3^2 + (-1) * 3^1 + 1 * 3^0
...
you get the idea. Notice that negative numbers are built in - no need for
an additional (-) symbol leading a number. Also notice that to negate a
number, you just negate each digit. Fractions, addition tables, etc. are
left as an exercise for the reader.
This system is great if you have a balance beam and want a minimum
number of known weights. To get an (n), you put a known weight on the same
side as the object being weighed, while to get a (1), put that weight on
the opposite side. With 4 weights, (27, 9, 3, 1) you can generate every
integer weight from -40 to 40 - try that with a decimal set of weights (or
binary, for that matter).
The problem I see with putting either Batenus or trinary in silicon
(or gallium arsenide, etc.) is that all the electric technologies I know of
are fundamentally binary. On/off, charge stored vs. not stored, current
flowing vs. not flowing, etc. You need two binary bits (4 states) to hold a
trinary digit (3 states), so there's a 33% loss.
Even ignoring this, you only get a 50% increase in information
capability and processing speed at best. Would you rather rebuild your
computers from the gate level up, including all of the software, or just
wait 6 months for the semiconductor industry to get you the 50% speedup in
binary?
However, I do notice that SQUID circuits, and some other
superconducting phenomena, might well be made to work in a trinary fashion
(no current, current circulating left, current circulating right). If so,
that might make Batenus or trinary pretty interesting again.
Am I Off-topic if I'm 10 years into the future? :-)
- Mark
Linc,
Calculating in binary code is as easy as 01,10,11.
Calculating in Batenus is as easy as 1,1n,10