How to convert hex to decimal in python

Converting a hexadecimal string to decimal or integer format is often required in programming applications. A common requirement is to convert IP addresses in hex to their decimal form.
This article will explain the conversion of a string from hex to decimal in python.

Hex to decimal conversion
Python library provides an int function which can be used to convert a hex value into decimal format. It accepts 2 arguments.

  1. First is the number that needs to be converted. It may be supplied as an integer or a string.
  2. Second is the base of the first argument.

int returns an integer representation(or base 10 equivalent) of the first argument. In other words, it converts the value supplied to it in decimal(base 10) format.

If int is called with 2 arguments, then the first argument must be a string.

Thus, if you provide a hexadecimal value to int, it will convert it into decimal. Example,

# hex string
num_hex = '0F'  
# convert hex to decimal
num_dec = int(num_hex, 16)
print('Value in hex:', num_hex)
print('Value in decimal:', num_dec)

Following is the output of above program

Value in hex: 0F
Value in decimal: 15

You can also use int function to convert a number in binary to decimal or an octal value to decimal. For binary to decimal, the second argument to int will be 2 and for octal, it will be 8.
Gotchas
Remember below pointers while using this method to convert hex to decimal.

  • If the base is not supplied to int, it will consider the number to be in decimal(base 10) format since default value of base is 10.
    Thus, if you omit the base and modify the int(num_hex, 16) to int(num_hex), then you will get an error.

    ValueError: invalid literal for int() with base 10: ‘0F’

  • If base is supplied, then the first argument should be a string. Trying to use a number will again raise an error.

    TypeError: int() can’t convert non-string with explicit base

Hit the clap if you found this article useful.

5

Share your thoughts !!

Close Menu

Never Miss an article !

Get the new post delivered straight into your inbox, enter your email and hit the button

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

codippa will use the information you provide on this form to be in touch with you and to provide updates and marketing.
%d bloggers like this: