BCD and vice versa in Python

Python Methods and Functions

Example :

 From decimal to binary  Input:  8  Output:  1 0 0 0 From binary to decimal  Input:  100  Output:  4 

Decimal to Binary

 Keep calling conversion function with n / 2 till n & gt; 1, later perform n% 1 to get MSB of converted binary number. Example: - 7 1). 7/2 = Quotient = 3 (grater than 1), Remainder = 1.2). 3/2 = Quotient = 1 (not grater than 1), Remainder = 1.3). 1% 2 = Remainder = 1. Therefore, answer is 111. 

# Function to print a binary number for
# decimal input using recursion

def decimalToBinary (n): 

 

if (n & gt; 1 ): 

# share with cumulative result

# (cancel remainder)

  decimalToBinary (n / / 2

 

  

print (n % 2 , end = '' )

 

 

 
# Driver code

if __ name__ = = ' __main__'

decimalToBinary ( 8

  print ( "" )

decimalToBinary ( 18

print ( "" )

  decimalToBinary ( 7

print ( " " )

Output:

 1 0 0 0 1 0 0 1 0 1 1 1 

Decimal to binary using bin ():

# Function for converting decimal number
# to binary

 

def decimalToBinary (n):

  return bin (n) .replace ( " 0b " ," ")

  
# Driver code

if __ name__ = = '__main__' :

  print (decimalToBinary ( 8 ))

print (decimalToBinary ( 18 ))

  print (decimalToBinary ( 7 ))

Output:

 1000 10010 111 

Binary to Decimal

 Example -: 1011 1). Take modulo of given binary number with 10. (1011% 10 = 1) 2). Multiply rem with 2 raised to the power it's position from right end. (1 * 2 ^ 0) Note that we start counting position with 0.3). Add result with previously generated result. decimal = decimal + (1 * 2 ^ 0) 4). Update binary number by dividing it by 10. (1011/10 = 101) 5). Keep repeating upper steps till binary & gt; 0. Final Conversion -: (1 * 2 ^ 3) + (0 * 2 ^ 2) + (1 * 2 ^ 1) + (1 * 2 ^ 0) = 11 

 

# The function calculates the decimal equivalent
# up to a given binary number

 

def binaryToDecimal (binary):

 

binary1 = binary

decimal, i, n = 0 , 0 , 0

  while (binary! = 0 ):

dec = binary % 10

  decimal = decimal + dec * pow ( 2 , i)

binary = binary / / 10

  i + = 1

print (decimal) 

  

 
# Driver code

if __ name__ = = '__main__' :

  binaryToDecimal ( 100 )

binaryToDecimal ( 101 )

binaryToDecimal ( 1001 )

Output:

 4 5 9 

Binary- decimal using int ():

# Function for converting a binary number
# up to decimal

 

def binaryToDecimal (n):

return int (n, 2 )

 

 
# Driver code

if __ name__ = = '__main__' :

  print (binaryToDecimal ( '100' ))

print (binaryToDecimal ( '101' ))

  print (binaryToDecimal ( '1001' ))

Output:

 4 5 9 

This article courtesy of Pushpanjali Chauhan . If you are as Python.Engineering and would like to contribute, you can also write an article using contribute.python.engineering or by posting an article contribute @ python.engineering. See my article appearing on the Python.Engineering homepage and help other geeks.

Please post comments if you find anything wrong or if you'd like to share more information on the topic discussed above.





Tutorials