HEX is short for hexidecimal. Hexidecimal is base 16. Where humans are used to the decimal system (base 10) with numbers 0 through 9, hex has the digits 0,1,2,3,4,5,6,7,8,9,A,B,C D,E, and F. Although this may appear confusing, the reason HEX was chosen is that it provides a simple way to represent 4 binary bits as a single digit. EXAMPLE: Binary 0000 = HEX 0 or binary 0101 = HEX 5 or binary 1100 = HEX C. The table below shows binary numbers and their hexadecimal equivalents.

0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

From the above table you can see that if you wish to represent the binary number 1110010100110010 you can write it as E532 hex. This is why hex has become the defacto standard to represent and display binary data; it allows humans to represent large groups of binary data in a compact form.


ASCII stands for American Standard Code for Information Interchange. This is a standard translation for HEX (binary) codes into printable or readable characters. The letters you are reading on the screen right now are represented in the computer as groups of bits. Without a standard, any computer manufacturer could decide which group of bits would represent which letter or number. In ASCII an upper case A is represented by the value 41H. the number 3 is represented by the value 33H. When you view the editor display of a device programmer you should see a display of HEX information and also (usually to the right) a display of the ASCII translation of the HEX data. If the data from an EPROM contains characters which are to be displayed to a user, these characters will appear in the ASCII display area.