Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .