In the beginning - there were computers based on base-10 logic and also on base-3 logic.
The trouble with doing
that - and the reason we don’t do it these days - lies at the lowest possible
level of the underlying electronics.
Suppose you have a
wire and a flashlight bulb and you connect a 1.5 volt battery to it so the
voltage jumps from 0 volts (no battery) to 1.5 volts (powered by the battery).
The voltage doesn’t actually jump instantaneously from
one to the other. It climbs gradually from 0 to 1.5 volts over some very small
fraction of a second. So at some point, the voltage will be (say) 0.4 volts -
or 0.7 volts - before it finally settles on 1.5 volts.
Also - if the wire is
long enough - and has some resistance to it - the voltage won’t ever reach 1.5 volts
- it’ll top out at (say) 1.2 volts or something.
Now - consider if you
have a base-10 computer - and just one digit travels from A to B along a wire.
If the computer is
running at 1.5 volts then maybe we use 0.15 volt steps:
·
0.00 volts to 0.14999
is a 0 digit
·
0.15 volts to 0.2999
is a 1 digit
·
0.30 volts to 0.4999
is a 2 digit
·
…
·
1.35 volts and over is
a 9 digit.
What happens if one
moment the wire is carrying a ‘0’ digit and the next moment, it’s a ‘9’?
Well we’ve already
established that the voltage can’t jump from 0v to 1.5v instantly - so it’ll go
through all of the intermediate voltages - representing ‘1’, ‘2’, ‘3’, ‘4’ …all
the way up to ‘9’ along the way.
So it would be crucial
for the thing that’s looking at the output of the wire to wait long enough for
the voltage to settle down completely before deciding which digit is being
sent.
It would also be
essential to keep the resistance of the wire low enough to allow the voltage to
reliably get above 1.35v.
If you tried to send
the signal just a little bit too far - then maybe a ‘9’ would come out as an
‘8’ and an ‘8’ as a ‘7’. This would be a total disaster!
But with a binary
computer - maybe a ‘0’ digit is anything below (say) 0.75 volts - and anything
above that is a ‘1’ digit.
If you switch the signal
at one end of the wire from a 0 to a 1 - then you send out 0 volts and then 1.5
volts. The voltage on the wire gradually increases - but very soon, it’s clear
that it’s eventually going to be a ‘1’. Even if the wire is VERY long and the
voltage only gets up to (say) 0.8 volts - you still get a solid ‘0’ or ‘1’.
The consequence of
this is that although binary representations require a lot more digits - the
speed and distance over which you can send them is MUCH higher.
So it turns out that
for practical purposes, you can build faster and more reliable computers in a
smaller space using binary than you can in base 10.
The same argument
applies for base-3 and binary - even though base 3 is more practical than base
10 - it’s STILL not as fast and reliable as binary.
That said, base 3
logic is still sometimes used on certain long distance cable systems - because
they can use +1, 0 and -1 for their three digits and over a long period of
time, the voltage averages out to 0 volts which is good for minimizing power
transfer along the wire.
Comments
Post a Comment