The Piraha people of the Amazon only have 3 numbers: 1, 2 and all-numbers-more-than-2.  That’s really all the data they ever need to represent but most other cultures have found it necessary to communicate more information (data) than that and have developed number systems that allow them to do that.  These usually start with something like notches on a stick or stone counters.  The problem is that these get longer with each one you add so most people’s numbering systems began to count using a system that got longer by multiples of 10.  In this decimal system (deci- is Greek for tenth) the first place is reserved for counting the number of 1’s, the position next to that is reserved for counting the number of 10’s, next is reserved for the number of 100’s (10×10), next 1,000’s (10x10x10) etc.  Because digital information comes to us as pulses of “on” and “off” we’ve kinda had to go backwards from the innovations of the decimal system.  The easiest way to represent digital information (data) is by reserving each place in the number represent a multiple of 2.  So the first place represents the number of 1’s just like the decimal system but instead of the next place holding 10’s it holds the 2’s and the third place is for holding 4’s (2×2) the fourth for holding 8’s (2x2x2) etc.  We call this system of number binary.

The decimal number 7 would be written as 111 in binary and the number 5 as 101.  How would you write the decimal number 9 in binary?

Handling a string of 1’s and 0’s is fine for a computer, but when we’re typing computer code and we want to input a big binary number we’d end up typing a long string of 1’s and 0’s.  Once again people had to come up with a way to write shorter representations of the data.  In the decimal system there’s one other convention that I forgot to mention…we use commas after every 3 place holders in the number (1,000’s, 1,000,000’s etc.).  This makes it easier for us to count really big numbers.  The first innovation that took place in our use of binary numbers in computers was to create a system like the use of comma’s in the decimal system so we decided that after 3 places in the binary system (which counts 8 numbers or “bits” as their called in the binary system) we’d call it a “byte”.  A number system that added a place after every multiple of 8 would reserve the first place for 1’s, the second place for 8’s, the third for 64’s etc.  We call this the octal system of numbers.  In this system of numbers 111 would be equal to the decimal number 73 (64+8+1).  We decided to write this system by adding the alphabet to our decimal system as  0,1,2,3,4,5,6,7.  The decimal number 74 would be 112.  How would you write 80 in octal notation?

Finally, the system used in most programs combines a lower byte (1111) and an upper byte (1111) into number system called the hexidecimal system of numbers.  It borrows letters from the alphabet to enable counting from 0 to 16 in the first position:  0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f.  So the number ff written in Hexidecimal would equal 255 (240+15).  In Binary this would be equal to 1111 1111.

Numbering systems are useful ways for representing data but there are other ways we use communicate information that are not digital.  Can you think of any other systems of communication that use something other than the decimal system which is based on the number 10?

Want to know more

http://www.engineeringtoolbox.com/binary-octal-hexadecimal-numbers-d_1802.html

http://www.dcs.bbk.ac.uk/~roger/binhex.html

Advertisements