As you might or might not know, a computer speaks a different language altogether than a human. Even the most avid, hardcore programmer will not understand what a computer is doing. Of course what I am discussing here is the hardware level communication. Believe it or not, but a computer is not very smart at all. It can only understand/speak zeros and ones. A program written in a high level language is compiled and transformed into intermediate language(s) and then into the basic form of zeros and ones. What a computer lacks in intelligence, it makes up by the sheer speed of which it execute instructions. By decoding and encoding very quickly the zeros and ones, a computer is able function and communicate with other computers. When it needs to communicate with humans, hardware will transform the code into understandable characters, or sounds, for us.
We are used to a base 10, or decimal, number system. Because it only consists of only zeros and ones, the number system that a computer uses is a binary number system. Other number system are also used in computer science, particularly the hexadecimal system. Thus, arithmetic, logical, and other operations are a little bit different. Learning how a computer represents data at the lowest level will give a clearer picture and a better understanding into many areas of computer science.
Number Systems - An introduction to number systems with some flash tutorials.
Number System Guide - Very good site about data representation and number systems. Easy to comprehend with lots of visualization.
© 2005 Illinois Institute of Technology