Why do computers count in binary? by Patanjali Hardikar
Answer by Patanjali Hardikar:
I'm surprised that out of so many answers here, nobody correctly defines the problem. The problem is not with the computers, the problem lies within the hardware that makes the computers. Basically computers are derivatives of electricity. That means, to store data, we use electric charge using capacitors and transistors. If there is charge stored, we call it 1 (On,or true), if there is none or minimal charge we call it 0, ( off or false). Binary is a number system that comprises of only 0s and 1s.
Now let's assume we could make capacitors that report multiple levels of charge. For eg. To convert computers into decimal systems, you would need to be able to differentiate between no charge and 9 different levels of charge. The problem with this is that as you go on using this hardware, it has wear and tear and it's suddenly not so accurate over time. So you might have voltage leaks, or resistances that u didn't account for earlier. Another fundamental problem with electricity is that the wire that carries it, induces resistance so technically the longer the distance the more resistance. Imagine you browsing an overseas website that wanted to send you 9 bits, but due to reduced charge, your transistor received charge only worth 8 bits. That would be disastrous. In case of binary the resistance does not seem to harm much since a little loss of charge doesn't change 1 to 0. It still means there is charge, the transister does not care how much charge as long as there is enough to qualify as 1 ( or ON).
As you asked, to use English instead of binary, the transistor would have to be able to differentiate between atleast 72 levels of charge. (26 lower csse, 26 upper case 10 number and 10? special characters). I am not even considering other languages that use umlauts, (dotted u's a's and n's) or Asian languages which have hundreds or more characters. Maintaining such accuracy of charge is physically impossible given our current understanding of physics.
The limitation is not with Computer science. Computer Science infact does not even begin at that level. Computer Science is a study of what we do with that data rather than how that data is stored. The answer you seek is that we use binary due to our limited understanding of how physics or electricity for that matter works.