Python Program to Multiply Two Binary Numbers

• 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 :