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:
- Take remainder of division by 2 → least significant bit.
- Divide by 2 using integer division.
- Repeat until the number becomes 0.
- Reverse the collected bits to get the correct order.
This demonstrates a classic base conversion algorithm.
Step-by-Step Breakdown
- 1Read a non-negative integer.
- 2Loop while the temporary value is > 0.
- 3Append each remainder (n % 2) to a list.
- 4Reverse and join the list into a string.
- 5Print the final binary string.