Open In App

Python | Ways to convert hex into binary

Last Updated : 25 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Conversion of hex to binary is a very common programming question. In this article, we will see a few methods to solve the above problem. 

Method #1: Using bin and zfill 

Python3




# Python code to demonstrate
# conversion of a hex string
# to the binary string
 
# Initialising hex string
ini_string = "1a"
scale = 16
 
# Printing initial string
print ("Initial string", ini_string)
 
# Code to convert hex to binary
res = bin(int(ini_string, scale)).zfill(8)
 
# Print the resultant string
print ("Resultant string", str(res))


Output

Initial string 1a
Resultant string 00b11010

  Method #2: Using Naive Method 

Python3




# Python code to demonstrate
# conversion of hex string
# to binary string
 
import math
 
# Initialising hex string
ini_string = "1a"
 
# Printing initial string
print ("Initial string", ini_string)
 
# Code to convert hex to binary
n = int(ini_string, 16)
bStr = ''
while n > 0:
    bStr = str(n % 2) + bStr
    n = n >> 1   
res = bStr
 
# Print the resultant string
print ("Resultant string", str(res))


Output

Initial string 1a
Resultant string 11010

  Method #3: Using .format 

Python3




# Python code to demonstrate
# conversion of hex string
# to binary string
 
import math
 
# Initialising hex string
ini_string = "1a"
 
# Printing initial string
print ("Initial string", ini_string)
 
# Code to convert hex to binary
res = "{0:08b}".format(int(ini_string, 16))
 
# Print the resultant string
print ("Resultant string", str(res))


Output

Initial string 1a
Resultant string 00011010

   Method #4:Using a loop:

Approach:

  • Convert the hexadecimal number to a string
  • Initialize an empty string to store the binary representation
  • Loop over the hexadecimal digits from the second character to the end
  • Convert each hexadecimal digit to its binary representation using a dictionary
  • Append the binary representation to the binary string
  • Return the binary string

Python3




hex_num = '1f'
hex_dict = {'0': '0000', '1': '0001', '2': '0010', '3': '0011', '4': '0100', '5': '0101', '6': '0110', '7': '0111', '8': '1000', '9': '1001', 'a': '1010', 'b': '1011', 'c': '1100', 'd': '1101', 'e': '1110', 'f': '1111'}
binary = ''
for digit in hex_num:
    binary += hex_dict[digit]
print(binary)


Output

00011111

Time complexity: O(n)
Space complexity: O(n)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads