Wednesday, April 30, 2008

binary numbers represented the standard way

Binary numbers, when written using standard westernized character sets, often resemble a string of characters limited to either a "1" or a "0" in arbitrary order and position. Take the normal, everyday decimal number 5. This, when translated to modern binary is "101." I have often pondered these binary character strings. When we humans "read" such binary numbers we usually read from left to right. Of course this is all quite obvious. However, consider a machine that produces such outputs in some way.

Perhaps we can visualize, for sake of an example, a digital lie-detector or a CAD engineer's plotter. Assume that there are mechanical plot heads for each print pixel instead of one plot head which moves back and forth. So we have an array of plot heads each happy to produce or to not produce for the particular line being "printed." Now, visualize this print machine to be as wide as the length of your regional Google campus. As a human operator looking down at the machine we could easily push the pause button stopping all operations. We look at the the last printed line (perhaps under microscope) and we see- essentially- a string of on and off pixels.

If we dare imagine this output to be a binary number then we are perhaps humbly amused. Perhaps my wild imagination would be too distracted from managing the plot machine causing the company to loose many dollars. Assume the operator would fancy the idea that the machine was plotting a sequence of binary numbers. Perhaps the operator would amuse himself by thinking that the machine was printing all the prime numbers- one right after another but in binary.

Since it is late on friday afternoon, the operator decides to quickly translate the first 200 binary numbers into decimal. He then plans to check the sequence of numbers with the sequences he is familiar with.

His first and foremost task is to figure out where the far right digit resides. Remember he is looking at quite a wide plot. For sake of discussion, assume that the spot wherein he is standing happens to have been the same spot in the plot where the machine first started to print binary numbers. Assume for example that the first number printed was "1" and the operate simply had to look down at the machine while standing in the middle of the printing facility. He did not have to walk 3 minutes to the end of the building to see the far right of the plot machine.

Now, we know the first number is a one because there was only one ink pixel. But what if the machine was trying to print the binary equivalent of the number 3?? The machine would still only print 1 pixel because the true binary representation is "10" but the zero represents a "do not print pixel" mark. So, the final point of this story is that the operator can not distinguish between the binary representations of the decimal number 1 and the decimal number 3!!

This example- I hope- provides a vivid delineation of the quite demanding requirement for all such talk of numbers to have a predefined reference point for the zero position.

Until next time,
"Happy Numerics!"

Note: The plot machine above is essentially a 1D cellular automaton. It is impossible to view the output of such an automaton as representing binary numbers. The best one can do is to say that they will read from left to right and that the far right "1" is the next to last position. Since all odd binary numbers have "1" in that position, one would essentially be interpreting only odd numbers. Also, while performing such explorations, one must realize that in order to be complete, it would be best to interpret from right to left as well.