Hexadecimal Numbers
Binary numbers are great for noting what computers do, but they can still become 
unwieldy. We often use another numbers system that notes binary numbers in a 
bit more human-friendly manner. This is the hexadecimal number system. Why yet 
another number system. What would you rather write, 1010110111001001 or ADC9? 
The second number is hexadecimal for the first. You may think this just makes 
things harder, but converting binary to hexadecimal, and vice versa in your head 
is very easy. All you have to learn is 16 hexadecimal digits, and their binary 
equivalents. Rather than invent new symbols for hexadecimal numbers, we use 0 
through 9 for the first ten, then the letters A through F for the last six. Here they are:
	
		| 
		0 | 
		
		0000 | 
		
		  | 
		
		8 | 
		
		1000 | 
	
	
		| 
		1 | 
		
		0001 | 
		
		  | 
		
		9 | 
		
		1001 | 
	
	
		| 
		2 | 
		
		0010 | 
		
		  | 
		
		A | 
		
		1010 | 
	
	
		| 
		3 | 
		
		0011 | 
		
		  | 
		
		B | 
		
		1011 | 
	
	
		| 
		4 | 
		
		0100 | 
		
		  | 
		
		C | 
		
		1100 | 
	
	
		| 
		5 | 
		
		0101 | 
		
		  | 
		
		D | 
		
		1101 | 
	
	
		| 
		6 | 
		
		0110 | 
		
		  | 
		
		E | 
		
		1110 | 
	
	
		| 
		7 | 
		
		0111 | 
		
		  | 
		
		F | 
		
		1111 | 
	
	
		
		 
		Hexadecimal to Binary Conversion | 
	
 
 Now let's tackle that crazy binary number. First, break the binary number into 
 groups of four:
Now, look at the conversion chart, and convert each group into its hexadecimal 
equivalent:
	
		| 1010 | 
		1101 | 
		1100 | 
		1001 | 
	
	
		| A | 
		D | 
		C | 
		9 | 
	
 
 And there's your conversion, ADC9. With a little practice, it becomes easy. I 
 remember way back in my digital electronics class, a few years after Grok 
 invented the counting stick, students would program an NCR Model 605 computer. 
 This computer was programmed by setting binary numbers into a set of 16 rocker 
 switches on a diagnostic panel.
  
    
      
	     | 
    
    
      | 
	  An NCR 605 diagnostic panel. Nothing but LEDs and rocker switches[1]. | 
    
  
 
 A student would write a program by looking up each operation in a code manual. 
 He would end up with a list of hexadecimal numbers that represented the program 
 as it was stored in memory. He would call the hexadecimal numbers out as 
 another student converted them in his head to binary, and flipped the rocker 
 switches accordingly. Once the program was in memory, he would flip some more 
 switches to tell the computer where the program was in memory, then press the 
 "Execute" switch. The results of a program would show up in a row of LEDs above 
 the rocker switches. If the program added the numbers 2 and 2 (10 and 10 in 
 binary), and the program ran successfully, the third LED from the right would 
 light up. Wow.