Converting binary, decimal, and hexadecimal
Binary
Computers work on the principle of number manipulation. Inside the computer, the numbers are represented in bits and bytes. For example, the number three is represented in base 2 with bits 0 and 1 set to "00000011." People commonly use a decimal or Base 10 numbering system.
What this means is that, in Base 10, you count from 0 to 9 before adding another digit. For example, the number 22 in Base 10 means we have two sets of 10's and two sets of 1's.
Base 2 (binary) can only have two values for a specific digit; either a 0 = OFF or a 1 = ON. You cannot have a number represented as 22 in binary notation. The decimal number 22 is represented in binary as 00010110. By following the below chart, that breaks down to:
Bit Position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
Decimal | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
22 or 00010110:
All numbers representing 0 are not counted, 128, 64, 32, 8, 1 because 0 represents OFF.
However, numbers representing 1 are counted, 16 + 4 + 2 = 22 because 1 represents ON.
Decimal values and binary equivalents chart
Decimal | Binary |
---|---|
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
16 | 10000 |
32 | 100000 |
64 | 1000000 |
100 | 1100100 |
256 | 100000000 |
512 | 1000000000 |
1000 | 1111101000 |
1024 | 10000000000 |
Hexadecimal
Another numbering system used by computers is hexadecimal (hex), or Base 16. In this system, the numbers are counted from 0 to 9, then letters A to F, before adding another digit. The letters A through F represent decimal numbers 10 through 15, respectively. The below chart indicates the values of the hexadecimal position compared to 16 raised to a power and decimal values. It's easier to work with large numbers using hexadecimal values than decimal.
To convert a value from hexadecimal to binary, you translate each hexadecimal digit into its 4-bit binary equivalent.
Hexadecimal numbers have either a 0x prefix or an h suffix.
For example, consider the hexadecimal number:
0x3F7A
Using the Binary chart and the Hex chart below, this translates into the binary value:
0011 1111 0111 1010
Decimal | Hexadecimal | Binary |
---|---|---|
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
10 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1110 |
15 | F | 1111 |