Python | hex() function

hex() function is one of the built-in functions in Python3, which is used to convert an integer number into it’s corresponding hexadecimal form.

Syntax :

hex(x) 
Parameters : 
x - an integer number (int object)
Returns :  Returns hexadecimal string.

Errors and Exceptions :



TypeError :  Returns TypeError when anything other than
             integer type constants are passed as parameters.

 
Code #1 : Illustrates use of hex() function.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to illustrate
# hex() function
  
print("The hexadecimal form of 23 is"
                            + hex(23))
                              
print("The hexadecimal form of the "
      "ascii value is 'a' is " + hex(ord('a')))
        
print("The hexadecimal form of 3.9 is "
                        + float.hex(3.9))

chevron_right


Output :

The hexadecimal form of 23 is0x17
The hexadecimal form of the ascii value os 'a' is 0x61
The hexadecimal form of 3.9 is 0x1.f333333333333p+1

 
Code #2: Demontsrate TypeError when floating point values are passed as parameter.

filter_none

edit
close

play_arrow

link
brightness_4
code

# hex() accepts only integer vaues as parameters
print("The hexadecimal form of 11.1 is "
                            + hex(11.1))
  
'''
# The hexadecimal conversion of floating  
# point integers can be done using the
# function float.hex()
print("The hexadecimal form of 11.1 is " 
                    + float.hex(11.1))
# Output :
# The hexadecimal form of 11.1 is 0x1.6333333333333p+3
  
# Similarly, float.hex() throws a TypeError
# when integer values are passed in it. 
'''

chevron_right


Output :

Traceback (most recent call last):
  File "/home/7e1ac7e34362fd690cdb72cf294502e1.py", line 2, in 
    print("The hexadecimal form of 11.1 is "+hex(11.1))
TypeError: 'float' object cannot be interpreted as an integer

 
Applications :
hex() is used in all the standard conversions. For example conversion of hexadecimal to decimal, hexadecimal to octal, hexadecimal to binary.

Code #3 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# TypeConversion from decimal with base 10 
# to hexadecimal form with base 16
  
  
# Taking input from user 
# an integer with base 10
number = int(input("Enter a number with base 10\n"))
  
# The choices present to the user
print("a. Decimal to Hexadecimal ")
print("b. Decimal to Octal")
print("c. Decimal to Binary")
  
# taking user input
print("Enter your choice :- ")
choice = input()
  
# Running a variable choice
# Hexadecimal form if choice
# is set to 'a'
if choice is 'a':
  
    # lstrip helps remove "0x" from the left 
    # rstrip helps remove "L" from the right,
    # L represents a long number
    print("Hexadecimal form of " + str(number) + 
        " is " + hex(number).lstrip("0x").rstrip("L"))
          
if choice is 'b':
      
    # Octal representation is done
    # by adding a prefix "0o" 
    print("Octal form of " + str(number) +
        " is " + oct(number).lstrip("0o").rstrip("L"))
          
if choice is 'c':
      
    # Binary representation is done by
    # the addition of prefix "0b"
    print("Binary form of " + str(number) + 
        " is "+bin(number).lstrip("0b").rstrip("L"))

chevron_right


Output :

Enter a number with base 10
123
a. Decimal to Hexadecimal 
b. Decimal to Octal
c. Decimal to Binary
Enter your choice :- 
a
Hexadecimal form of 123 is 7b
Enter a number with base 10
123456789
a. Decimal to Hexadecimal 
b. Decimal to Octal
c. Decimal to Binary
Enter your choice :- 
a
Hexadecimal form of 123456789 is 75bcd15


My Personal Notes arrow_drop_up

Its lonely at the top

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : nidhi_biet