Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Since this isn't a research-level question (seeing as I am not in a graduate program) I decided to plop on over here from the other CS Q&A site.

Why do we use binary to encode information in bits?

I have some programming and hardware experience, and I know that 1 and 0 are the off and on of a lightbulb, etc. But modern lights also have a dimmer.
Why do we still use 1 and 0 when we could use frequency or percentage value of energy transferred to further compact a message in machine language?
Wouldn't it be quicker for a CPU or memory to calculate and process something if it gets the information quicker?

Basically, is it possible? And if so...Does this idea now have any copyright on it? :)

If it isn't, I would like to know why definitively if that could be explained. Thanks :)

share|improve this question
Just Google how MLC Flash works: More than one bit in a single memory cell. – Turbo J Mar 14 '12 at 19:00

The idea of having multiple levels instead of 0 and 1 has been tried.

eg Ternary computer which has three levels 0,1,-1.

This similar question has a nice detailed answer.

share|improve this answer

For a more than two state (true/false) calculation you need a many-valued logic (check Fuzzylogic, e.g. on Wikipedia

To the present day you can't cleanly separate three or more conditions (true/-/false) in mass productionable transistors due to technical restrictions, so computers have to work with a two-valued logic.

share|improve this answer
Even if multivalent chips could be built, have fun coding anything that works in that environment. Also see – conspiritech Mar 14 '12 at 12:39
In fact, there are computers with three states - since the 70th. – Steffen Mar 14 '12 at 14:23

Sounds to me like you are proposing an analog computer - one that acts on a range of values rather than on digital ones. I don't think one is inherently better than the other, but the use cases are different. Also, I would conjecture from the apparent success of digital computers that perhaps they are more adaptable and useful for generic problem solving than the analog variety.

share|improve this answer
Your conjecture is flawed: The rotary Wankel engine is superior to the regular piston engine - it's just that the piston engine has enjoyed a hundred years of improvements. The analog computer (Wankel engine) might be superior today if it had enjoyed a similar amount of research and refinement. – Torben Gundtofte-Bruun Mar 14 '12 at 14:44
Perhaps this is a VHS/BetaMax conversation, but my conjecture is at least arguable so I'll stand by it. – uSlackr Mar 14 '12 at 15:56 analog computer, if I was reading the link right. Reading the link (of similar question) that daya posted...An Optical Multi-frequency computer. The main issues with this on the other page are that it wouldn't translate to binary. But then they are thinking of re-inventing the wheel with a new machine language. I was just thinking it could be acheeived using the same language structure just instead of 10 meaning two, 2 means two. 11 = 3. And it would increase but there is still a direct translation. You would just have to have another machine be a binary interpreter. – Justin Scorp Crouch Mar 14 '12 at 16:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.