• Articles

How to Convert Binary to Decimal in Python

How to Convert Binary to Decimal in Python

Binary and decimal are two fundamental number systems in the world of computing and mathematics. Sometimes, you may need to convert binary numbers to decimals, especially when working with data or algorithms in programming. In this blog, we’ll see how to convert binary to decimal as well as the various methods used for converting binary to decimal using Python, one of the most popular programming languages for data manipulation and analysis.

Table of Contents:

Do you want to learn more about Python? Check out our YouTube video to learn more about it!

Video Thumbnail

What are Binary and Decimal Number Systems?

The binary and decimal number systems are two distinct mathematical notations for representing and manipulating numbers. Their bases and the symbols used to represent values differ. Each system is explained below:

Binary Number System

The binary number system, commonly known as the base-2 system, is comprised of only two digits: 0 and 1.

The position of each digit in a binary integer signifies a power of two. The rightmost digit is 2^0 (1), the next is 2^1 (2), the next is 2^2 (4), and so on.

Binary numbers are commonly used in computing and digital electronics because they correspond directly to the on-off nature of electrical circuits. 0 typically represents “off” or “false,” while 1 represents “on” or “true.”

Example: The binary number “1101” is translated as 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0, giving the decimal value 13.

Decimal Number System

The decimal number system, often known as the base-10 system, is the most widely used numeral system in the world. It is made up of ten numbers: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.

Each digit in a decimal number indicates a power of ten. The first digit indicates 100 (1), the second represents 101 (10), the third represents 102 (100), and so on.

Example: The decimal number “1234” is represented as 1 * 103 + 2 * 102 + 3 * 101 + 4 * 00, which is 1000 + 200 + 30 + 4, giving the value 1234.

How to Convert Binary to Decimal Number in Python

Before you begin, you must understand the difference between binary and decimal systems. Base-2 is binary, whereas base-10 is decimal. In binary, just 0 and 1 are used as digits, but in decimal, 0 through 9 are used. Following are the steps for the conversion of Binary to Decimal:

Step 1 – Choosing a Binary Number: 

The binary number begins by converting the binary integer to decimal. This number should be written as a string, with each character being either ‘0’ or ‘1’.

Step 2 – Using the int() Function

The int() method in Python can be used to convert a binary text to a decimal integer. You select the basis on which the input string is represented when you use int().

Step 3 – Conversion of int() Function:

With two arguments, call the int() function:

The binary string to be converted is the first argument.

The base parameter, which should be set to 2, indicates that the input is in binary format.

Step 4 – Result:

The int() function returns the binary input’s equivalent decimal integer value.

Step 5 – Keep or Apply the Decimal Value:

You can save the decimal result in a variable for later use or use it for arithmetic operations.

Step 5 – Showing the Final Result:

If you want to see the conversion result, use the print() function to print it to the console.

Various Methods to Convert Binary to Decimal in Python

There are several techniques for converting binary to decimal in Python. One popular method is to use the int() function with a base of 2, which interprets the binary string as base-2 and returns the appropriate decimal representation. 

Below are some other techniques that are used to manually iterate the binary digits, apply the positional value idea, and then add the decimal result. 

Using For Loop

You can convert a binary number into its decimal equivalent using a for loop in Python. Here’s a simple Python program to do that:

binary_number = input("Enter a binary number: ")
decimal_number = 0
power = 0
# Iterate through the binary number from right to left
for bit in reversed(binary_number):
    if bit == '1':
        decimal_number += 2**power
    power += 1
print(f"The decimal equivalent of {binary_number} is {decimal_number}")

In this Code:

  1. We take user input in the form of a string to represent a binary number.
  2. We set the decimal_number to 0 and the power to 0.
  3. Using the reversed function, we loop through the binary numbers from right to left.
  4. Each bit in the binary number is represented by:

If it’s a ‘1’, we multiply the decimal_number by two.

To manage the next bit’s position, we increase the power.

  1. Finally, we print the binary number’s decimal equivalent.

Using a for loop, this code will convert a binary number entered by the user into its decimal form.

Get 100% Hike!

Master Most in Demand Skills Now!

Using While Loop

You can convert a binary number into its decimal equivalent in Python using a while loop. Here’s a Python program to do that:

# Function to convert binary to decimal
def binary_to_decimal(binary):
decimal = 0
    power = 0
    while binary > 0:
        # Extract the last digit of the binary number
        last_digit = binary % 10
        # Add the last digit to the decimal after converting it

The “binary_to_decimal” function in this program takes an input binary number, converts it to a decimal using a while loop, and returns the decimal value equivalent to it. 

Using Recursion

In Python, you can use recursion to convert a binary value to a decimal number. To accomplish this, consider the following basic recursive function:

In this code:

def binary_to_decimal(binary_str, index=0):
    if index == len(binary_str) - 1:
        return int(binary_str[index])
    else:
        return int(binary_str[index]) * (2 ** (len(binary_str) - index - 1)) + binary_to_decimal(binary_str, index + 1)
# Input a binary number as a string
binary_number = "1101"
# Call the function and print the result
decimal_number = binary_to_decimal(binary_number)
print("Decimal equivalent:", decimal_number)
  1. The binary_to_decimal function accepts two arguments: the binary string binary_str and an index to keep track of where the string is in the process of being converted.
  2. It recursively computes the binary number’s decimal equivalent by multiplying the value of the current binary digit by 2 raised to the power of its location and adding the result of the recursive call.
  3. When the index reaches the last location in the binary string, the recursion ends and the decimal equivalent of that final binary digit is returned.

Using int()

You can use the int() function in Python to convert a binary string into a decimal integer. Here’s a simple example of how to do it:

binary_string = "101010"  # Replace this with your binary string
decimal_integer = int(binary_string, 2)
print("Binary:", binary_string)
print("Decimal:", decimal_integer)

We start this code by defining a binary string, binary_string, which you should replace with your actual binary input. Then, using a base parameter of 2, we use the int() method to specify that the input is in binary format. The result is saved in the decimal_integer variable, and both the binary and decimal representations are printed.

Conclusion

Python provides several straightforward methods for converting binary to decimal, making it a versatile language for numeric operations. This capability is invaluable in various fields, from computer science and data analysis to finance and engineering. The ability to easily convert between binary and decimal not only enhances data handling but also enables more informed decision-making in today’s data-driven business world. Businesses can put together these conversion techniques for tasks like data processing and real-time analytics, ensuring exact and efficient computation in their operations.

Course Schedule

Name Date Details
Python Course 21 Dec 2024(Sat-Sun) Weekend Batch View Details
28 Dec 2024(Sat-Sun) Weekend Batch
04 Jan 2025(Sat-Sun) Weekend Batch

Full Stack Development