Convert a binary number to hexadecimal number
Input: 110001110 Output: 18E Input: 1111001010010100001.010110110011011 Output: 794A1.5B36
Binary Number: A binary number is a number expressed in the base-2 binary numeral system, which uses only two symbols: which are 0 (zero) and 1 (one).
4HexaDecimal Number: A hexadecimal number is a positional numeral system with a radix, or base, of 16 and uses sixteen distinct symbols: which are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F.
Convert Binary to HexaDecimal:
We all know that, 24 = 16 1.
In other words, single digit in base 16 can be represented using 4 digits in base 2.
To convert Binary number to HexaDecimal, the below steps are taken:
- Group the given Binary Number into groups of 4 bits, each group taken individually from the left and right of the decimal point.
- Get length of substring to the left and right of the decimal point(‘.’) as left_len and right_len.
- If left_len is not a multiple of 4, i.e., grouping into exact group of 4 bits is not possible, then add minimum number of 0’s in the beginning to make length of left substring a multiple of 4.
- Similarly, If right_len is not a multiple of 4, then add minimum number of 0’s in the end to make length of right substring a multiple of 4.
- Now, from the left, extract each group (substrings of length 4) one by one and add its corresponding Hexadecimal code to the result.
- If in between a decimal(‘.’) is ecountered then add it to the result.
Below is the implementation of the above approach:
Hexadecimal number = 794A1.5B36
Time Complexity: O(n), where n is the length of the string.
Approach 2: Another approach to convert Binary Number to Hexadecimal number is to first convert the binary number to decimal number and then convert the obtained decimal number to equivalent hexadecimal number.
(1) Convert the binary number 111000 to hexa-decimal.
(2) Convert the binary number 100100001 to hexa-decimal.
(3) Convert the binary number 1001001111 to hexa-decimal.
(4) What is the binary equivalent of hexa-decimal number A7C5.
(5) What is the binary equivalent of hexa-decimal number 2A.FF.
Answers: (1) 38 (2) 121 (3) 24F (4) 1010011111000101 (5) 101010.11111111
This article is contributed by Ayush Jauhari. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.