Main Page | See live article | Alphabetical index

Hexadecimal

Hexadecimal (often abbreviated hex) is a base 16 numeral system, usually written using the symbols 0-9 and A-F. It is a useful system in computers because there is an easy mapping from four bits to a single hex digit. Thus one can represent every byte as two consecutive hexadecimal digits. Compare the binary, hex and decimal representations:

 bin  hex  dec 
0000 = 0  =  0
0001 = 1  =  1
0010 = 2  =  2
0011 = 3  =  3
0100 = 4  =  4
...
1001 = 9  =  9
1010 = A  = 10
1011 = B  = 11
...
1111 = F  = 15

So the decimal numeral 79 whose binary representation is 0100 1111 can be written as 4F in hexadecimal.

There are many ways to denote hexadecimal numerals, used in different programming languages:

There is no single agreed-upon standard, so all the above conventions are in use, sometimes even in the same paper. However, as they are quite unambiguous, little difficulty arises from this.

The word "hexadecimal" is strange in that hexa is derived from the Greek έξι (exi) for "six" and decimal is derived from the Latin for "ten". An older term was the pure Latin "sexidecimal", but that was changed because some people thought it too racy, and it also had an alternative meaning of "base 60".

Fractions

The hexadecimal system is quite good for forming fractions:

1/2 = 0.8
1/3 = 0.5555 recurring
1/4 = 0.4
1/5 = 0.3333 recurring
1/6 = 0.2AAAA recurring
1/8 = 0.2
1/A = 0.19999 recurring
1/C = 0.15555 recurring
1/F = 0.1111 recurring

Because the base is a square, hexadecimal fractions have an odd period much more often than decimal ones. Repeating decimals occur when the denominator has a prime factor not found in the base. In the case of hexadecimal numbers, this applies if and only if the denominator is not a power of two.

See numeral system for a list of other base systems.