# 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.