def binary_add(a, b):
return bin(int(a, 2) + int(b, 2))[2:]
def binary_subtract(a, b):
return bin(int(a, 2) - int(b, 2))[2:]
def binary_multiply(a, b):
return bin(int(a, 2) * int(b, 2))[2:]
def binary_divide(a, b):
if int(b, 2) == 0:
return "Error: Division by zero"
return bin(int(a, 2) // int(b, 2))[2:]
def binary_to_decimal(b):
return int(b, 2)
def decimal_to_binary(d):
try:
d = int(d)
return bin(d)[2:]
except ValueError:
return "Error: Not a valid decimal number"
def print_result(operation, input1, input2, result):
print("\n--- Result ---")
print(f"Operation: {operation}")
print(f"Input 1: {input1}")
if input2 is not None:
print(f"Input 2: {input2}")
print(f"Output: {result}")
print("---------------\n")
def calculator():
print("🧮 Welcome to the Binary Calculator!")
print("You can perform the following operations:")
print("1 - Add two binary numbers")
print("2 - Subtract one binary number from another")
print("3 - Multiply two binary numbers")
print("4 - Divide one binary number by another")
print("5 - Convert a binary number to decimal")
print("6 - Convert a decimal number to binary (Extra Credit!)")
choice = input("Enter choice (1-6): ")
if choice in {'1', '2', '3', '4'}:
a = input("Enter first binary number (e.g., 1010): ")
b = input("Enter second binary number (e.g., 0101): ")
if not all(c in '01' for c in a + b):
print("Invalid binary input. Please use only 0 and 1.")
return
if choice == '1':
result = binary_add(a, b)
print_result("Addition", a, b, result)
elif choice == '2':
result = binary_subtract(a, b)
print_result("Subtraction", a, b, result)
elif choice == '3':
result = binary_multiply(a, b)
print_result("Multiplication", a, b, result)
elif choice == '4':
result = binary_divide(a, b)
print_result("Division", a, b, result)
elif choice == '5':
b = input("Enter binary number (e.g., 1101): ")
if not all(c in '01' for c in b):
print("Invalid binary input.")
else:
result = binary_to_decimal(b)
print_result("Binary to Decimal", b, None, result)
elif choice == '6':
d = input("Enter decimal number (e.g., 15): ")
result = decimal_to_binary(d)
print_result("Decimal to Binary", d, None, result)
else:
print("Invalid choice. Please enter a number between 1 and 6.")
# Run the calculator
calculator()