Convert Binary to Decimal

Convert a binary string (e.g. 1010) to its decimal integer value.

PythonBeginner

What You'll Learn

  • Validating input format for binary strings
  • Implementing positional numeral system evaluation
  • Using loops to accumulate a numeric result
Python
# Program to convert binary to decimal without using int(x, 2)

binary_str = input("Enter a binary number: ")

if not all(ch in '01' for ch in binary_str):
    print("Invalid binary number.")
else:
    decimal_value = 0
    for ch in binary_str:
        decimal_value = decimal_value * 2 + int(ch)

    print(f"Decimal value of {binary_str} is {decimal_value}")

Output

Enter a binary number: 1010
Decimal value of 1010 is 10

We interpret the binary string from left to right:

Starting from 0:

  • Multiply current value by 2.
  • Add the current bit (0 or 1).

This is equivalent to evaluating the positional value of each bit.

Step-by-Step Breakdown

  1. 1Read a string representing a binary number.
  2. 2Check that it only contains 0 and 1.
  3. 3Initialize decimal_value to 0.
  4. 4For each character, multiply decimal_value by 2 and add the bit.
  5. 5Print the final decimal value.