Skip to content
Related Articles

Related Articles

Python Program to Multiply Two Binary Numbers

Improve Article
Save Article
Like Article
  • Last Updated : 23 Aug, 2021

Given two binary numbers, and the task is to write a Python program to multiply both numbers.

Example:

firstnumber = 110
secondnumber = 10
Multiplication Result = 1100

We can multiply two binary numbers in two ways using python, and these are:

  1. Using bin() functions and
  2. Without using pre-defined functions

Method 1: Using bin Functions

Now, Let’s write a program by using Pre-Defined Functions:

Python3




firstnumber = 110
secondnumber = 10
  
firstnumber = str(firstnumber)
secondnumber = str(secondnumber)
  
Multiplication = int(firstnumber, 2) * int(secondnumber, 2)
binaryMul = bin(Multiplication)
  
print("\nResult = " + binaryMul)

Output:

Result = 0b1100

Method 2: Without using Any Pre-Defined Function

We can also multiply any two Binary Numbers without using any pre-defined Function or by user-defined function.

Python




def binaryProduct(binaryOne, binaryTwo):
    i = 0
    remainder = 0
    sum = []
    binaryProd = 0
  
    # if firstBinary number or second Binary number is not
    # zero then calculate the product of two Binary numbers
    while binaryOne != 0 or binaryTwo != 0:
        sum.insert(i, (((binaryOne % 10) + (binaryTwo % 10) + remainder) % 2))
        remainder = int(((binaryOne % 10) + (binaryTwo % 10) + remainder) / 2)
        binaryOne = int(binaryOne/10)
        binaryTwo = int(binaryTwo/10)
        i = i+1
  
    # if remainder value is not equal to
    # zero then insert the digit to sum array
    if remainder != 0:
        sum.insert(i, remainder)
        i = i+1
    i = i-1
    while i >= 0:
        binaryProd = (binaryProd * 10) + sum[i]
        i = i-1
    return binaryProd
  
  
binaryMultiply = 0
factor = 1
firstBinary = 110
  
secondBinary = 10
  
# Now check if secondbinary number have any
# digit or not and continue multiplying
# each digit of the second binary number with
# first binary number till the last digit of
# second binary number
while secondBinary != 0:
    digit = secondBinary % 10
    if digit == 1:
        firstBinary = firstBinary * factor
        binaryMultiply = binaryProduct(firstBinary, binaryMultiply)
    else:
        firstBinary = firstBinary * factor
    secondBinary = int(secondBinary/10)
    factor = 10
print("\nMultiplication Result = " + str(binaryMultiply))

Output:

Multiplication Result = 1100

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!