Python convert binary to decimal: In the previous article, we have discussed Python Program for Sign Change
Recursion:
Convert binary to decimal python: Recursion is the process by which a function calls itself directly or indirectly, and the associated function is known as a recursive function. Certain issues can be addressed fairly easily using a recursive approach. Towers of Hanoi (TOH), Inorder /Preorder/Postorder Tree Traversals, DFS of Graph, and other analogous issues are examples.
Binary Code:
Convert binary string to decimal python: As previously stated, Binary Code is a Base-2 representation of a number. In Binary, all numbers are represented by simply two symbols: 0 and 1. Binary (also known as base-2) is a numerical system with only two digits: 0 and 1.
Given a binary string, the task is to convert the given binary string to a decimal number using recursion in Python.
- Python Program to Find Subtraction of Two Numbers using Recursion
- Python Program to Divide Two Numbers Using Recursion
- Python Program to Print Binary Representation of a Number
Examples:
Example1:
Input:
Given binary number = 1011
Output:
The decimal Equivalent of the given binary number { 1011 } is : 11
Example2:
Input:
Given binary number = 10010101
Output:
The decimal Equivalent of the given binary number { 10010101 } is : 149
Program to Convert Binary to Decimal using Recursion in Python
Python binary to decimal: Below are the ways to convert the given binary string to a decimal number using recursion in Python:
Method #1: Using Recursion (Static Input)
Approach:
- Give the binary number as static input and store it in a variable.
- Create a recursive function to say binaryToDeci() which accepts the binary number as an argument and returns the decimal equivalent of the given binary string.
- Inside the binaryToDeci() function, Check if the binary number is equal to 0 using the if conditional statement.
- If it is true then return 0.
- Else return (n% 10 + 2* binaryToDeci(n // 10)) {Recursive logic where n%10 gives rightmostbit and n//10 divides the number by 10 which removes the last bit}.
- Inside the main function pass the given binary number as an argument to binaryToDeci() which returns the decimal equivalent of the given binary number.
- Print the decimal equivalent of the given binary number.
- The Exit of the Program.
Below is the implementation:
# Create a recursive function to say binaryToDeci() # which accepts the binary number as an argument # and returns the decimal equivalent of the given binary string. def binaryToDeci(binanumb): # Inside the binaryToDeci() function, # Check if the binary number is equal to 0 using the if conditional statement. if(binanumb == 0): # If it is true then return 0. return 0 # Else return (n% 10 + 2* binaryToDeci(n // 10)) # {Recursive logic where n%10 gives rightmostbit and n//10 divides the number by 10}. return (binanumb % 10 + 2 * binaryToDeci(binanumb // 10)) # Give the binary number as static input and store it in a variable. gvnbinarynumb = 1011 # Inside the main function pass the given binary number as an argument # to binaryToDeci() which returns the decimal equivalent of the given binary number. resdecimalnumbr = binaryToDeci(gvnbinarynumb) # Print the decimal equivalent of the given binary number. print( 'The decimal Equivalent of the given binary number {', gvnbinarynumb, '} is :', resdecimalnumbr)
Output:
The decimal Equivalent of the given binary number { 1011 } is : 11
Method #2: Using Recursion (User Input)
Approach:
- Give the binary number as user input using int(input()) function and store it in a variable.
- Create a recursive function to say binaryToDeci() which accepts the binary number as an argument and returns the decimal equivalent of the given binary string.
- Inside the binaryToDeci() function, Check if the binary number is equal to 0 using the if conditional statement.
- If it is true then return 0.
- Else return (n% 10 + 2* binaryToDeci(n // 10)) {Recursive logic where n%10 gives rightmostbit and n//10 divides the number by 10 which removes the last bit}.
- Inside the main function pass the given binary number as an argument to binaryToDeci() which returns the decimal equivalent of the given binary number.
- Print the decimal equivalent of the given binary number.
- The Exit of the Program.
Below is the implementation:
# Create a recursive function to say binaryToDeci() # which accepts the binary number as an argument # and returns the decimal equivalent of the given binary string. def binaryToDeci(binanumb): # Inside the binaryToDeci() function, # Check if the binary number is equal to 0 using the if conditional statement. if(binanumb == 0): # If it is true then return 0. return 0 # Else return (n% 10 + 2* binaryToDeci(n // 10)) # {Recursive logic where n%10 gives rightmostbit and n//10 divides the number by 10}. return (binanumb % 10 + 2 * binaryToDeci(binanumb // 10)) # Give the binary number as user input using int(input()) function # and store it in a variable. gvnbinarynumb = int(input('Enter some random binary number = ')) # Inside the main function pass the given binary number as an argument # to binaryToDeci() which returns the decimal equivalent of the given binary number. resdecimalnumbr = binaryToDeci(gvnbinarynumb) # Print the decimal equivalent of the given binary number. print( 'The decimal Equivalent of the given binary number {', gvnbinarynumb, '} is :', resdecimalnumbr)
Output:
Enter some random binary number = 10010101 The decimal Equivalent of the given binary number { 10010101 } is : 149
Explore more instances related to python concepts from Python Programming Examples Guide and get promoted from beginner to professional programmer level in Python Programming Language.