  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.