The binary and hexadecimal system are two major numbering systems used by computers. While it’s easy to deal with small numbers in the binary format, the same cannot be said about large number manipulations. For simplification, binary digits are converted into hexadecimal numbers, and the reverse is also possible.

**18,446,744,073,709,551,615**_{16} is the largest hexadecimal number a Windows calculator can handle, and it is made of 64 bits.

Any computer programming language is converted into a machine-understandable binary language comprising bits represented by ‘0’ and ‘1’ only. A binary string is therefore known as a base-2 number. Eight bits together make one ‘byte’, whereas, a set of four bits make a ‘nibble’.

A major disadvantage of the binary system was that large binary strings consisting of 16 or 32 bits would be difficult to read or write, without introducing any errors. To address this problem, the hexadecimal numbering system was introduced. The hexadecimal system is represented by 16 different symbols, and is therefore known as the base-16 system. The 16 symbols that belong to the hexadecimal system are 0 – 9 and A – F, where A = ’10’, B = ’11’, C = ’12’, D = ’13’, E = ’14’, F = ’15’. Using this system, a long binary string could be easily represented in a short compact form. This could be accomplished by grouping 4-bits together (nibble) to represent a single hexadecimal symbol. This means that a nibble is equivalent to a hexadecimal number. Similarly, a byte (2 nibbles) can be represented by 2 hexadecimal numbers.

This converter will enable you to convert binary to hexadecimal digits, and vice versa.

In order to convert binary numbers into hexadecimal ones, and vice versa, it is crucial to understand a few basics regarding the methodology. Thus, in the following sections, the conversion methods have been explained with the help of examples. Have a look at the reference conversion chart given below before proceeding.

Binary numbers represent any number (decimal or hexadecimal) using digits **0** and **1** only. Each digit ‘1’ in a binary number represents a power of two, and each ‘0’ represents zero. The method used to form the conversion table is explained below:

0001 = 2^{0} = 1_{16}

0010 = 2^{1} = 2_{16}

0100 = 2^{2} = 4_{16}

1000 = 2^{3} = 8_{16}

If the digit ‘1’ occurs more than once, then you need to add the powers of 2:

0101 = 0 + 2^{2} + 0 + 2^{0} = 4 + 1 = 5_{10} = 5_{16}

1010 = 2^{3} + 0 + 2^{1} + 0 = 8 + 2 = 10_{10} = 10_{16}

0111 = 0 + 2^{2} + 2^{1} + 2^{0} = 4 + 2 + 1 = 7_{10} = 7_{16}

1111 = 2^{3} + 2^{2} + 2^{1} + 2^{0} = 8 + 4 + 2 + 1 = 15_{10} = F_{16}

Binary | Hexadecimal |

0000 | 0 |

0001 | 1 |

0010 | 2 |

0011 | 3 |

0100 | 4 |

0101 | 5 |

0110 | 6 |

0111 | 7 |

1000 | 8 |

1001 | 9 |

Binary | Hexadecimal |

1010 | A |

1011 | B |

1100 | C |

1101 | D |

1110 | E |

1111 | F |

Divide the binary number into sets of 4 digits starting from right to left. For example, the binary number ‘1001101100100101’ should be partitioned as follows,

1001|1011|0010|0101➩1001 1011 0010 0101

Add leading zeroes wherever required. For example, the binary number ‘111011001’ should be noted down as,

000111011001

Follow the same aforementioned partitioning step,

0001|1101|1001➩0001 1101 1001

Refer to the aforementioned chart, and write down the hexadecimal equivalent of every 4 digit binary number from left to right.

Remove all spaces between the final output.

**Question:** The given binary number is **1110101010001101**_{2}. Find out its hexadecimal form.

**Answer:**

The number on partitioning will be written as,

1110 1010 1000 1101

The binary to hexadecimal conversion using the table is as follows,

1110_{2} = E_{16}

1010_{2} = A_{16}

1000_{2} = 8_{16}

1101_{2} = D_{16}

The final output (after removing the spaces) is,

1110101010001101_{2} = EA8D_{16}

**Question:** The given binary number is **1011101111100101011111**_{2}. Find out its hexadecimal form.

**Answer:**

The number on partitioning and addition of zeroes will be written as,

0010 1110 1111 1001 0101 1111

The binary to hexadecimal conversion is as follows,

0010_{2} = 2_{16}

1110_{2} = E_{16}

1111_{2} = F_{16}

1001_{2} = 9_{16}

0101_{2} = 5_{16}

1111_{2} = F_{16}

The final output (after removing the spaces) is,

1011101111100101011111_{2} = 2EF95F_{16}

To convert a hexadecimal value to binary, you simply need to translate each hexadecimal digit into its 4-bit binary equivalent.

**Question:** The given hexadecimal number is **6FD**_{16}. Find out its binary form.

**Answer:**

6_{16} = 0110_{2}

F_{16} = 1111_{2}

D_{16} = 1101_{2}

The final output (with spaces) is,

6FD_{16} = 0110 1111 1101_{2}

**Question:** The given hexadecimal number is **8F4E9A**_{16}. Find out its binary form.

**Answer:**

8_{16} = 1000_{2}

F_{16} = 1111_{2}

4_{16} = 0100_{2}

E_{16} = 1110_{2}

9_{16} = 1001_{2}

A_{16} = 1010_{2}

The final output (with spaces) is,

8F4E9A_{16} = 1000 1111 0100 1110 1001 1010_{2}

Prefix | Use | Example |

0x | used in programming languages | 0x47DE |

% | used in URLs to express characters like ‘Space’ | %20 |

\x | used to express character control codes | ‘Backspace’ (\x08), ‘Escape’ (\x1B), and ‘Line Feed’ (\x0A) |

# | used to refer colors in HTML and other image editing programs | #FF7734 |

0h | used by many programmable graphic calculators | 0h7E |

used to represent unicode characters in HTML, XML, and XHTML | prefixed to 3A9 prints an Ω. |

Always prepare and refer to the conversion chart while performing conversion between binary and hexadecimal numbers. This will simplify your task and ensure that no errors are introduced in your code.