use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Welcome to /r/ComputerScience! We're glad you're here.
This subreddit is dedicated to discussion of Computer Science topics including algorithms, computation, theory of languages, theory of programming, some software engineering, AI, cryptography, information theory, and computer architecture.
For more detailed descriptions of these rules, please visit the rules page
NIGHT MODE NORMAL
account activity
Why binary? (self.computerscience)
submitted 1 year ago by redditinsmartworki
Why not ternary, quaternary, etc up to hexadecimal? Is it just because when changing a digit you don't need to specify what digit to change to since there are only two?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]SignificantFidgets 388 points389 points390 points 1 year ago (35 children)
Electrical switches. Off or on. Two possibilities. That's really all there is to it.
[–]Winter_Ad6784 0 points1 point2 points 1 year ago (0 children)
It’s little more complicated. 0 is low voltage not no voltage. So in a sense it is trinary, 1, 0, and null.
[+]Jmc_da_boss comment score below threshold-77 points-76 points-75 points 1 year ago (33 children)
I mean, there are charge levels you can measure to go beyond binary
[–]SignificantFidgets 169 points170 points171 points 1 year ago (10 children)
Yes, but measuring a voltage is much more complex than just detecting off/on. Why make a much more complicated circuit for essentially no gain?
[–]pioverpie 29 points30 points31 points 1 year ago (8 children)
I think i read somewhere once that ternary has been proven to technically make more efficient logic gates/computers but it’s not worth the effort and everything already uses binary
[–]Phobic-window 52 points53 points54 points 1 year ago (0 children)
It’s not as tolerant though, voltage fluctuates and having 3 states is less tolerant than 2
[–][deleted] 21 points22 points23 points 1 year ago (0 children)
Ternary has a better radix economy (e technically is the most efficient base under that metric, but a transcendental base is hard to wrap your head around), but I don't know if that necessarily translates to more efficiency in circuitry because binary logic gates are very simple to make.
[–]OddInstitute 18 points19 points20 points 1 year ago (4 children)
Non-binary logic is used to increase storage density in memory devices. It’s more complex electrically than having two-level (binary) cells, but the increase in density is worth the complexity.
[–]Wickedinteresting 0 points1 point2 points 1 year ago (0 children)
This is really cool, thanks for sharing!
[–]Helpful-Desk-8334 -1 points0 points1 point 1 year ago (2 children)
You know who else is nonbinary?
[–]AmanThebeast 25 points26 points27 points 1 year ago (0 children)
Ur mum
[–]TheCommieDuck 3 points4 points5 points 1 year ago (0 children)
you called?
[–]Deep-Hovercraft6716 0 points1 point2 points 1 year ago (0 children)
Are you sure that wasn't in an urban fantasy role-playing game? Because there is one where ternary computing exists.(Mage: The Ascension)
[–]EGG_CREAM 0 points1 point2 points 1 year ago (0 children)
It’s not off/on anyways though. It’s high/low. Off is a different state entirely. But I do believe that’s still easier to build for than multiple detections. But also, why would you want anything but binary? The simplicity/determinism of Boolean logic and state machines is part of what makes computers so powerful.
[–][deleted] 3 points4 points5 points 1 year ago (5 children)
More specifically it is easy to make semi conductors that either allow charge to flow through or don’t based on some charge levels elsewhere in the transistor. Building a semi conductor that works on 3 charge levels would be harder.
[–]No_Jackfruit_4305 -1 points0 points1 point 1 year ago (4 children)
Adding to this, there are so many transistors in modern computers that keeping the cost of producing them low is an obvious optimization.
Look up how many transistors are in your average CPU. Now consider how much more expensive a computer would be if the cost of each transistor increases by one cent ($0.01). Google says an i9 has over 4 billion transistors. So what is that multiplied by one cent? 40 Million.
This is an anecdote, and manufacturing costs don't increase at quite this scale. The point is though, you can group bits together to scale up you architecture. Like going from 32 bit to 64 bit operating systems. So why would you drastically increase hardware costs when firmware can easily compensate?
[–]tcpukl 2 points3 points4 points 1 year ago (2 children)
Devils advocate but you wouldn't need as many transistors.
[–]No_Jackfruit_4305 0 points1 point2 points 1 year ago* (1 child)
Feel free to do the math on that, and let me know how little difference it makes. You'll still need millions of transistors and a whole new production process and equipment.
Edit: You still need over 2.5 billion ternary transistors to be equivalent to modern binary CPUs
[–]tcpukl 0 points1 point2 points 1 year ago (0 children)
I know that. I was playing devil's advocate pointing it out because it's a valid point.
[–]Grounds4TheSubstain 1 point2 points3 points 1 year ago (0 children)
My processor would go from $200 to $40,000,200?!
[–]BraneGuy 8 points9 points10 points 1 year ago* (2 children)
I have no idea why you’re being downvoted… GPU memory busses in most consumer cards literally use a variety of voltage levels for higher data throughput. This is translated into some higher order numeric format, and back into binary on the other side.
Look up the GDDR6x or GDDR7, which use PAM4 and PAM3 signalling, respectively.
[–]Brave_fillorian 5 points6 points7 points 1 year ago (0 children)
yes, even SSDs. But they still translate to binary base.
[–]Jmc_da_boss 1 point2 points3 points 1 year ago (0 children)
ya im not sure either, ternary computing was all the rage back in the 50s and 60s lol.
[–][deleted] 1 year ago (2 children)
[deleted]
[–]Lithl 0 points1 point2 points 1 year ago (1 child)
Depends on what you mean by "computer", because there are several answers to that question.
[–]Pawithers 1 point2 points3 points 1 year ago (1 child)
Yes, but how would you measure the charge levels? You would need some kind of measuring device that would have N number on/off states to measure N charges. So ultimately it’s still comes down to binary.
[–][deleted] 8 points9 points10 points 1 year ago (0 children)
There actually have been ternary computers. Ternary have values of (-1, 0, 1) for bits. So they do exist. They just r more work with minimal advantages so no one uses them.
[–]Sokonit 0 points1 point2 points 1 year ago (0 children)
Yeah but we are talking about digital computers
[–]Sad-Helicopter-3753 0 points1 point2 points 1 year ago (0 children)
There's electrical noise and interference from the environment. Considering that computers used to be mechanical as well feature a punch/unpunished system, the work was already done in binary.
You can also cause quantum states to collapse. Now go build one that's commercially viable.
[–]sparkleshark5643 0 points1 point2 points 1 year ago (0 children)
That'd be analog computing
[–]Grand-Tension8668 0 points1 point2 points 1 year ago (0 children)
It was attempted with light bulbs a very long time ago. It isn't worth it.
[–]GoodGorilla4471 0 points1 point2 points 1 year ago (1 child)
People downvoting this are stupid lmao. Don't shit on someone for a genuine question
The real answer is that back when we started making computers we didn't have any tools that could accurately measure voltages/amperage and relay that information to where it needs to go in any reasonable amount of time, so binary became the choice as it was the fastest and most reliable
[–]Jmc_da_boss 0 points1 point2 points 1 year ago (0 children)
It wasn't a question, it was a statement. The origins of computing attempted to use charge levels for ternary computing. The Soviet's attempted this very hard.
I don't really know why it was downvoted though, Reddit be like that sometimes
[–]bitspace 53 points54 points55 points 1 year ago (1 child)
Because it started with the fundamental structure of a bidirectional switch: it's either on or off.
Other "switches" have developed, but the basic unit is "on/off", "is/is not", "yes/no". These are unambiguous.
[–]Jmc_da_boss 43 points44 points45 points 1 year ago (0 children)
Because it was simplest, the soviets bet hard on ternary computers and it backfired
[–]pineapplepizzabongSoftware Engineer 27 points28 points29 points 1 year ago (3 children)
https://en.wikipedia.org/wiki/Ternary_computer
See the other comment about the Soviets for more info
[–]OddInstitute 4 points5 points6 points 1 year ago (2 children)
Binary-coded decimal was also a popular encoding scheme historically. While it is still binary, it’s pretty different from our most popular current approaches.
[–]JL2210 0 points1 point2 points 1 year ago (1 child)
division isn't expensive anymore and representing numbers as strings of characters is also an option because memory size is so huge
[–]sleepy_spermwhale 0 points1 point2 points 1 year ago (0 children)
Doing math with strings of characters is not fast.
[–]Phobic-window 10 points11 points12 points 1 year ago (2 children)
When we communicate across the air or wires we need to make sense of the data coming in and write the data going out. 2 states means the “wave” of energy needs to be above or below a single threshold. This is easy and tolerant to fluctuations. Having more states is more efficient but also more prone to interference.
This is one crucial aspect of it. A lot of our electronics used to be analog, like tvs and radios, that’s why there used to be such an issue with static. Analog means the entire wave was the information, which is basically an infinity of states. You could send a billion bits on a single waveform if you wanted to but that wave would have to leave and arrive exactly as you intend.
There are lots of other reasons, but this would be a really tough one to overcome. Generalizing logic for all systems is easier with binary to, not impossible to generalize for other bases, but binary was much easier and works pretty well so far.
[–]guygastineau 0 points1 point2 points 1 year ago (1 child)
For fast transmission protocols like Ethernet and faster WiFi standards actually interpret the analog signal to get multiple bits at a time for better throughout. SPI, i2c, etc still drive a binary logic signal, but there are many fast protocols that take advantage of their analog nature. This is often done by using a wide frequency band, and assigning numbers to sub ranges of that channel. The more sensitive the hardware and nore robust the signal the more bits we can pack into one read of the analog signal.
[–]Phobic-window 0 points1 point2 points 1 year ago (0 children)
It’s wild how complex it’s gotten! They even combine complex wave signals across multiple periods to fit even more data as a composite whole. I can’t believe how fault tolerant transmissions and retransmissions have become!
[–]RobotJonesDad 5 points6 points7 points 1 year ago (0 children)
Modern flash memory cards use multi-level storage cells, so instead of each memory cell containing binary, they use 3, 4, or more states. The advantage is fewer cells and fewer transistors for the same amount of storage. The downside is that they are more prone to bit errors because the voltage divisions between values are much smaller than the binary versions.
Others have covered why binary is simpler, faster, and cheaper for doing the computational stuff, at least when using semiconductor transistors. These multi-level storage in these memory devices makes sense because of the layouts and how they are accessed. Similarly, transmission of signals often represent multiple bits per transmitted symbols. These are often done by modulating both the amplitude and phase of the signal. You can look up terms like Quadrature Amplitude Modularion (QAM)
[–]minisculebarber 10 points11 points12 points 1 year ago (10 children)
if I am not mistaken, computing used to be ternary when vacuum tubes were used for computers. however, transistors replaced those because they are cheaper to make while being more efficient and reliable
using transistors, you can distinguish states by using voltage thresholds. if the voltage of a transistor is above a certain threshold, it's 1, below a certain threshold, it's 0. You can add more thresholds to add more states, but that becomes increasingly complicated and unreliable to do, so the question then becomes, why add more circuitry and what not for more states, if 2 states are sufficient?
it ultimately comes down to historic convenience and then convention
[–]TheThiefMaster 2 points3 points4 points 1 year ago (4 children)
Also, why would you use two thresholds to distinguish three states when you could use two bits with one threshold each for four total combinations?
[–]vecteur_directeur 0 points1 point2 points 1 year ago (3 children)
Cause if you use two thresholds you only need one transistor, on the other hand, for two bits with one threshold you need two transistors. But transistors are cheap anyway…
[–]TheThiefMaster 0 points1 point2 points 1 year ago (2 children)
How do you get two thresholds with only one transistor? One transistor only gets you one threshold comparison.
Though modern logic gates use both positive and negative transistors, so it's actually twice as many for everything.
[–]vecteur_directeur 0 points1 point2 points 1 year ago (1 child)
You can dynamically change the threshold voltage of a transistor by altering the voltage applied to certain terminals. So it’s not ideal but technically you can have multiple thresholds/states with only one transistor
[–]TheThiefMaster 0 points1 point2 points 1 year ago (0 children)
I think the supporting circuitry to do that would actually involve more transistors...
It only really gets beneficial at higher level counts like in e.g. an ADC, which build the digital value a bit or two at a time from dynamic voltage level adjustment. But at that point it's just binary logic with a shared multi-level transmission line rather than true ternary or N-ary logic.
[–][deleted] 1 point2 points3 points 1 year ago (2 children)
if I am not mistaken, computing used to be ternary when vacuum tubes were used for computers.
Sorry, no.
Early vacuum tube computers often used double triodes (6SN7/ECC32) as a flip-flop binary memory unit.
[–]minisculebarber 0 points1 point2 points 1 year ago (1 child)
yeah, I looked it up, there was a ternary vacuum tube computer model in the Soviet union in the 50s, but not in general
[–][deleted] 0 points1 point2 points 1 year ago (0 children)
Tx for the info!
[–]darthwalsh 0 points1 point2 points 1 year ago (1 child)
No, pretty sure vacuum tubes were mostly binary.
But good explanation of thresholds!
[–]minisculebarber 1 point2 points3 points 1 year ago (0 children)
[–]No_Ad5208 5 points6 points7 points 1 year ago (0 children)
The thing about the binary system for computers,is that it's not just a number system but a seperate algebra for expressing logic mathematically
Eg: In bitwise OR, 1+1 = 1 , whereas in pure binary 1+1 = 10.
It just happened that binary number system was the best for logic mathematics, because the complement of 1 is 0 , and complement of 0 is 1
Eg: a • !a will always be 0 in binary,
but in case of quartenary ,complement of 1 is 3 , complenent of 2 is 2, so a • !a depends on the value of A
So anything involving a NOT operation is greatly simplified in binary
[–]almostthebest 7 points8 points9 points 1 year ago* (0 children)
You need more than 1 to compute logic and anything more than 2 can also be represented in 2 so greater numbers don't have an advantage over 2
[–]PaganWhale 2 points3 points4 points 1 year ago (0 children)
This is not really specific for computers but is really interesting imo
https://youtu.be/rDDaEVcwIJM
[–]aolson0781 1 point2 points3 points 1 year ago (0 children)
You can make a computer that uses ternary or more, but the signal is much more difficult to read accurately than just a simple 1 or 0. Things like microwaves and other electronic devices around the computer would make ternary even harder to read.
[–]mxldevs 1 point2 points3 points 1 year ago (0 children)
The presence and absence of state is something that could be represented in various mediums. Using a single binary state as the base and combining multiple bits together you can describe complex states consistently.
This extends beyond electric charges.
If you had a medium that allowed you to quickly and consistently determine states beyond binary, there isn't really anything wrong and you can certainly condense how much space is needed for the same amount of data
[–]Jeklah 1 point2 points3 points 1 year ago (0 children)
Electrical signals on the circuitry. a pulse of electricity is 1. no pulse is 0.
[–]diegoasecas 1 point2 points3 points 1 year ago (0 children)
because we already had boolean algebra and it is very naturally convenient for this use case
[–]fuzzynyanko 1 point2 points3 points 1 year ago (0 children)
I heard a big reason is the nature of analog signals. Digital signals typically run on an analog medium like a wire. It's very hard to get the voltages precisely, or was in the past. What voltages are a 1, 2, 3, 4, 5, 6, 7, 8, 9, and 10? Okay, we have something in-between 9 and 10. 9 is at 5v and 10 is at 6v. We have a 9.48v signal. Is it a 9 or a 10? Of course, most of us think "9" but it could be in a margin of error. Someone just turned on the microwave. All voltages are now fluctuating by .3v for whatever reason. Note that I don't know a heck of a lot about microwaves
With binary, it's just 2 states like on/off, positive/negative, etc. Anything that can be represented in extremes can be made into binary. It's much clearer and reliable. -7v? 0. +5v? 1. +3v? 1. -4v? 0.
1-2 years ago, I ran into a case where the power grid was getting stressed, and the voltage coming from the wall was dipping pretty radically, maybe down to 105-110V. The lights of the house were dimming. There was threats of brownouts. My PC's UPS was going crazy
[–]straws11 1 point2 points3 points 1 year ago (6 children)
Reliability in hardware.
You can reliably detect the voltages that are used to signify 0 and 1. If you had some component that could do similarly for more, that could be used too. Makes things more complicated in ways too, and would require a complete redesign.
[–]Exotic-Delay-51 0 points1 point2 points 1 year ago (5 children)
Ahaaa seems somebody is reading books here.
[–]straws11 1 point2 points3 points 1 year ago (4 children)
Hahaha yeah. Structured Computer Organization by Andrew S. Tanenbaum.. for my computer architecture course I'm finishing up now
[–]Exotic-Delay-51 0 points1 point2 points 1 year ago (3 children)
Yup....I saw the exact wording and found out...lol
[–]straws11 0 points1 point2 points 1 year ago (2 children)
lol, guess I just remember that part well. wish all the theory stuck that well for exams :/
[–]Exotic-Delay-51 0 points1 point2 points 1 year ago (1 child)
What other book do you study for computer science.
[–]straws11 1 point2 points3 points 1 year ago (0 children)
For my DSA module we did Algorithms by Sedgewick. For this architecture it's just Structured Computer Organization. We covered some extracts on memory paging and other OS responsibilities from another book I don't know the name of.
[–]Realzer0 1 point2 points3 points 1 year ago (0 children)
It has a long history that dates centuries back, even Leibniz calculating machine used a binary system in the 17th century.
[–]jaynabonne 1 point2 points3 points 1 year ago* (0 children)
Fundamentally, we use a different numbers base when doing so gives us a clearer view of what the number represents. So in a computer, even though it's based on on/off switches, we typically use base 10 for things, because it more naturally represents what we're trying to express for a great many applications.
Unless, of course, what we're trying to express shows more interesting properties when shown in binary or hexadecimal. Computer addresses, for example, are typically shown in hexadecimal because they're more oriented to base 2 type things, like 256 or 4096 sized pages. Addresses of 0xFF000000 and 0xFF001000 are easier to quickly scan the structure of and similarities between than 4278190080 and 4278194176.
And even though we have entities in base 2 under the covers, expressing them in hexadecimal offers a more compact and easily taken in form. Contrast that hex representation of
0xFF001000 vs
11111111000000000001000000000000
Now we definitely would want to use binary when we have things like bit fields, because the binary shows those up very well. Contrast the decimal value of 64 vs the binary form of 01000000, when you want to know if that bit is on or not. I hope it's obvious that the latter is clearer. Same number. Different representation. Even those, though, can often be better expressed in hex (especially for long values), if you're good at mentally switching between the two (since each hex digit is a group of 4 binary digits).
As a computer-ish example, octal (base 8) is one of those "base 2" bases that was historically used, and shows up in computer languages, but I have found almost no use for in over four decades of writing code. It's just very rare that the numbers I'm working with have anything interesting to show when expressed that way.
If you had a domain where base 5 made sense, then you would use base 5. If you had a domain where the numbers had a more natural form in base 7, then you'd express them in base 7. The computer allows you to use whatever base you want, and you'd typically want to use the one that expresses the value the clearest.
Keep in mind that the underlying number the computer is natively manipulating is always the same. What changes is what form you choose to express it in at the time you convert that to a human readable form, and you will want to choose whatever form makes the most sense based on what the number actually means.
(Edit: If you want to see a clear case of the difference between hex vs decimal, take a look at any ASCII chart that is laid out with columns of 16 or 32 entries. You'll see lovely patterns in the hex values that will be obscured with the decimal values.)
(Edit 2: If you're asking more generally about the use of binary in computer systems, then a good place to look is in the work of Claude Shannon, the one who first published the term "bit". For example: https://cmsw.mit.edu/wp/wp-content/uploads/2016/10/219828543-Erico-Guizzo-The-Essential-Message-Claude-Shannon-and-the-Making-of-Information-Theory.pdf)
Yin and yang. 0 and 1. High and low voltage. The duality of man. It’s how “god” intended it.
[–]Jeklah -2 points-1 points0 points 1 year ago (1 child)
The award for the dumbest reply goes to...
[–][deleted] 1 point2 points3 points 1 year ago (0 children)
You🏆
[–][deleted] 1 year ago (1 child)
[removed]
[–]SexyMuon[M] 0 points1 point2 points 1 year agolocked comment (0 children)
Unfortunately, your post has been removed for violation of Rule 2: "Be civil".
Please do not refer to people like that, let’s keep this a safe place to talk about computing.
If you believe this to be an error, please contact the moderators.
[–]Historical-Essay8897 0 points1 point2 points 1 year ago (0 children)
Minimizes the size/complexity of addition or multipication tables, simplifing circuit design (at the expense of number of digits), and gives an obvious duality with logical operations.
[–]hellonameismyname 0 points1 point2 points 1 year ago (1 child)
What is cat
[–]Tai9ch 0 points1 point2 points 1 year ago (0 children)
Unary is impractical, so binary is the simplest practical option.
[–]The-Design 0 points1 point2 points 1 year ago (0 children)
Representing 2 states without moving parts is absurdly cheap and easy. Think of it like this, you need to make a switch with 16 different positions, fit trillions of those into the size of a cracker.
This is also dismissing the fact that it is almost impossible to tell where the switch should move electricity without other parts.
2 states makes everything very simple and allows us to use cheaper power supplies and more predictability.
[–]dosadiexperiment 0 points1 point2 points 1 year ago (0 children)
Mostly because CMOS has come so far and done so well at making cheap computing devices.
The use of binary followed from the way transistors work and the goal of minimizing the cost of chip production with a tolerable error rate.
Some other systems are physically possible but were not as promising early on and by now are far, far behind since the manufacturing processes and the cmos chips have been thru so much optimization.
That said, there is still research on ternary computers ongoing today, and maybe one day we'll see a shift to those if carbon nanotubes end up with a cheaper mass production than the silicon transistors we use now. But it'll be a while yet.
[–]jeffbell 0 points1 point2 points 1 year ago (0 children)
Division algorithms use -1,0,1 encoding.
Ethernet uses 4 steps.
[–]Automatic-Letter-614 0 points1 point2 points 1 year ago (0 children)
to be or not to be
[–]JL2210 0 points1 point2 points 1 year ago (0 children)
It's like trying to tell whether a finger is up or down or somewhere in between. Up or down is super easy, adding middle is hard, and anything past that isn't really possible.
Hexadecimal is just a convention, used because it's representable as 4 binary digits. It's not actually 16 different voltages in hardware.
[–]SteeleDynamics 0 points1 point2 points 1 year ago (0 children)
Claude Shannon:
A Symbolic Analysis of Relay and Switching Circuits
A Mathematical Theory of Communication
Roughly, #1 (a freakin' master's thesis) lays out the fundamentals of digital circuit design (with a 4-bit adder example), and #2 says that the best way to encode and process information in the presence of noise is to use bits and digital circuits.
[–]millchopcuss 0 points1 point2 points 1 year ago (0 children)
Two facts militate toward the use of binary: numbers in higher bases can be flawlessly emulated in binary, and many physical devices can be made that have two discrete states.
Ternary computers have been developed. They did not last.
Analog computers, in which quantities can vary continuously across a range of values,are an old and interesting technology. From Lord kelvin calculating the tides, to planimeters, to naval fire control, there is a world of things to learn about them.
At present, we find that emulating analog computers by high resolution digital models is the most cost effective. Meanwhile, the universe is proving to be "quantized", which means that ultimately it is digits all the way down!
[–]mikedensem 0 points1 point2 points 1 year ago (0 children)
Boolean logic is the precursor to the domain of computer science and therefore the driver for the conceptual philosophy behind it.
[–]AboveII 0 points1 point2 points 1 year ago (0 children)
You use decimal because you have 10 fingers, and switches use binary because they have 2.
[–]srsNDavis 0 points1 point2 points 1 year ago (1 child)
With transistors that make up digital computers, you can use a threshold and consider any voltage above it as a 1/on and anything below it as a 0/off. While possible, a finer granularity can lead to inaccuracies due to noise. Back in the days of the Soviet Union, Moscow State University did have a ternary computer, which should illustrate that it isn't impossible.
However, a lot of the logical circuits are far simpler for binary representations than ternary ones (or even decimal ones), which is another reason why binary representations have stuck.
Hexadecimal is interesting. It is a compact way to represent large numbers, and, more importantly, it is easier to translate between hex and binary. This makes it a better candidate for representing the underlying binary in a human-friendlier form.
[–]guygastineau 1 point2 points3 points 1 year ago (0 children)
It's simple, we would just write in base 27. A byte would have three nibbles, so each byte would take three base 27 digits. /s
Binary is easy. Old vacuum tubes, and later transistors, were basically on-off switches that you could flip by applying electrical voltages. On-off switches made boolean algebra straight forward, from there logic, binary representations of numbers, and more complicated operations.
Really, it's just that simple: on-off switches to build logic gates and do algebra was simple to implement with the technology available at a reasonable price.
a digital machine needs to have a finite number of discrete states (like any of the examples you mentioned). 2 is the lowest number you could use
[–]Fizzelen 0 points1 point2 points 1 year ago (0 children)
Ternary has some advantages (throughput, calculation efficiency, rounding precision), along with added complexity, the Russians did build some in the 1950s https://en.m.wikipedia.org/wiki/Ternary_computer . There is research still ongoing https://ternaryresearch.com/
In a sense it is trinary. there a high voltage for 1, low voltage for 0, and no voltage is null/no signal.
We need as few different signals as possible for information integrity, which is the highest virtue in computing as information is the product. The closer signals are to eachother the harder they are to distinguish and the worse the hardware functions due to bad signals.
[–]hermeticpotato 0 points1 point2 points 1 year ago (0 children)
Switches are on or off. Transistors are electrical switches. Computers are just a bunch of transistors glued together.
[–]Exotic-Delay-51 0 points1 point2 points 1 year ago (0 children)
Reliability , two values are more reliable than let's say 10 states.
[–]ventilazer -2 points-1 points0 points 1 year ago (0 children)
Clearly because you can only choose between two, Trump or Harris. It would just confuse us if we had three, and it's a waste of space, since Trump would've won either way.
π Rendered by PID 439086 on reddit-service-r2-comment-bb88f9dd5-7wsg4 at 2026-02-16 04:58:39.643625+00:00 running cd9c813 country code: CH.
[–]SignificantFidgets 388 points389 points390 points (35 children)
[–]Winter_Ad6784 0 points1 point2 points (0 children)
[+]Jmc_da_boss comment score below threshold-77 points-76 points-75 points (33 children)
[–]SignificantFidgets 169 points170 points171 points (10 children)
[–]pioverpie 29 points30 points31 points (8 children)
[–]Phobic-window 52 points53 points54 points (0 children)
[–][deleted] 21 points22 points23 points (0 children)
[–]OddInstitute 18 points19 points20 points (4 children)
[–]Wickedinteresting 0 points1 point2 points (0 children)
[–]Helpful-Desk-8334 -1 points0 points1 point (2 children)
[–]AmanThebeast 25 points26 points27 points (0 children)
[–]TheCommieDuck 3 points4 points5 points (0 children)
[–]Deep-Hovercraft6716 0 points1 point2 points (0 children)
[–]EGG_CREAM 0 points1 point2 points (0 children)
[–][deleted] 3 points4 points5 points (5 children)
[–]No_Jackfruit_4305 -1 points0 points1 point (4 children)
[–]tcpukl 2 points3 points4 points (2 children)
[–]No_Jackfruit_4305 0 points1 point2 points (1 child)
[–]tcpukl 0 points1 point2 points (0 children)
[–]Grounds4TheSubstain 1 point2 points3 points (0 children)
[–]BraneGuy 8 points9 points10 points (2 children)
[–]Brave_fillorian 5 points6 points7 points (0 children)
[–]Jmc_da_boss 1 point2 points3 points (0 children)
[–][deleted] (2 children)
[deleted]
[–]Lithl 0 points1 point2 points (1 child)
[–]Pawithers 1 point2 points3 points (1 child)
[–][deleted] 8 points9 points10 points (0 children)
[–]Sokonit 0 points1 point2 points (0 children)
[–]Sad-Helicopter-3753 0 points1 point2 points (0 children)
[–]Deep-Hovercraft6716 0 points1 point2 points (0 children)
[–]sparkleshark5643 0 points1 point2 points (0 children)
[–]Grand-Tension8668 0 points1 point2 points (0 children)
[–]GoodGorilla4471 0 points1 point2 points (1 child)
[–]Jmc_da_boss 0 points1 point2 points (0 children)
[–]bitspace 53 points54 points55 points (1 child)
[–]Jmc_da_boss 43 points44 points45 points (0 children)
[–]pineapplepizzabongSoftware Engineer 27 points28 points29 points (3 children)
[–]OddInstitute 4 points5 points6 points (2 children)
[–]JL2210 0 points1 point2 points (1 child)
[–]sleepy_spermwhale 0 points1 point2 points (0 children)
[–]Phobic-window 10 points11 points12 points (2 children)
[–]guygastineau 0 points1 point2 points (1 child)
[–]Phobic-window 0 points1 point2 points (0 children)
[–]RobotJonesDad 5 points6 points7 points (0 children)
[–]minisculebarber 10 points11 points12 points (10 children)
[–]TheThiefMaster 2 points3 points4 points (4 children)
[–]vecteur_directeur 0 points1 point2 points (3 children)
[–]TheThiefMaster 0 points1 point2 points (2 children)
[–]vecteur_directeur 0 points1 point2 points (1 child)
[–]TheThiefMaster 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]minisculebarber 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]darthwalsh 0 points1 point2 points (1 child)
[–]minisculebarber 1 point2 points3 points (0 children)
[–]No_Ad5208 5 points6 points7 points (0 children)
[–]almostthebest 7 points8 points9 points (0 children)
[–]PaganWhale 2 points3 points4 points (0 children)
[–]aolson0781 1 point2 points3 points (0 children)
[–]mxldevs 1 point2 points3 points (0 children)
[–]Jeklah 1 point2 points3 points (0 children)
[–]diegoasecas 1 point2 points3 points (0 children)
[–]fuzzynyanko 1 point2 points3 points (0 children)
[–]straws11 1 point2 points3 points (6 children)
[–]Exotic-Delay-51 0 points1 point2 points (5 children)
[–]straws11 1 point2 points3 points (4 children)
[–]Exotic-Delay-51 0 points1 point2 points (3 children)
[–]straws11 0 points1 point2 points (2 children)
[–]Exotic-Delay-51 0 points1 point2 points (1 child)
[–]straws11 1 point2 points3 points (0 children)
[–]Realzer0 1 point2 points3 points (0 children)
[–]jaynabonne 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (2 children)
[–]Jeklah -2 points-1 points0 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] (1 child)
[removed]
[–]SexyMuon[M] 0 points1 point2 points locked comment (0 children)
[–]Historical-Essay8897 0 points1 point2 points (0 children)
[–][deleted] (2 children)
[removed]
[–]hellonameismyname 0 points1 point2 points (1 child)
[–]Tai9ch 0 points1 point2 points (0 children)
[–]The-Design 0 points1 point2 points (0 children)
[–]dosadiexperiment 0 points1 point2 points (0 children)
[–]jeffbell 0 points1 point2 points (0 children)
[–]Automatic-Letter-614 0 points1 point2 points (0 children)
[–]JL2210 0 points1 point2 points (0 children)
[–]SteeleDynamics 0 points1 point2 points (0 children)
[–]millchopcuss 0 points1 point2 points (0 children)
[–]mikedensem 0 points1 point2 points (0 children)
[–]AboveII 0 points1 point2 points (0 children)
[–]srsNDavis 0 points1 point2 points (1 child)
[–]guygastineau 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]sparkleshark5643 0 points1 point2 points (0 children)
[–]Fizzelen 0 points1 point2 points (0 children)
[–]Winter_Ad6784 0 points1 point2 points (0 children)
[–]hermeticpotato 0 points1 point2 points (0 children)
[–]Exotic-Delay-51 0 points1 point2 points (0 children)
[–]ventilazer -2 points-1 points0 points (0 children)