Convert Decimal to Binary

Convert a non-negative integer from decimal to binary representation.

PythonBeginner

What You'll Learn

  • Using loops and modulo for base conversion
  • Building strings from lists of digits
  • Understanding how binary representation works
Python
# Program to convert decimal to binary without using bin()

num = int(input("Enter a non-negative integer: "))

if num < 0:
    print("Please enter a non-negative integer.")
elif num == 0:
    print("Binary: 0")
else:
    binary_digits = []
    n = num
    while n > 0:
        remainder = n % 2
        binary_digits.append(str(remainder))
        n //= 2

    binary_digits.reverse()
    binary_str = ''.join(binary_digits)
    print(f"Binary of {num} is {binary_str}")

Output

Enter a non-negative integer: 10
Binary of 10 is 1010

We repeatedly divide the number by 2, collecting remainders:

  1. Take remainder of division by 2 → least significant bit.
  2. Divide by 2 using integer division.
  3. Repeat until the number becomes 0.
  4. Reverse the collected bits to get the correct order.

This demonstrates a classic base conversion algorithm.

Step-by-Step Breakdown

  1. 1Read a non-negative integer.
  2. 2Loop while the temporary value is > 0.
  3. 3Append each remainder (n % 2) to a list.
  4. 4Reverse and join the list into a string.
  5. 5Print the final binary string.