编写Python代码,将十进制数转换为等价的二进制数,反之亦然。
null
例子:
From decimal to binaryInput : 8Output : 1 0 0 0From binary to decimalInput : 100Output : 4
十进制到二进制
Keep calling conversion function with n/2 till n > 1,later perform n % 1 to get MSB of converted binary number. Example :- 71). 7/2 = Quotient = 3(greater than 1), Remainder = 1.2). 3/2 = Quotient = 1(not greater than 1), Remainder = 1.3). 1%2 = Remainder = 1.Therefore, answer is 111.
Python3
# Function to print binary number for the # input decimal using recursion def decimalToBinary(n): if (n > 1 ): # divide with integral result # (discard remainder) decimalToBinary(n / / 2 ) print (n % 2 , end = ' ' ) # Driver code if __name__ = = '__main__' : decimalToBinary( 8 ) print ( "" ) decimalToBinary( 18 ) print ( "" ) decimalToBinary( 7 ) print ( "" ) |
输出:
1 0 0 0 1 0 0 1 0 1 1 1
使用bin()将十进制转换为二进制:
Python3
# Function to convert Decimal number # to Binary number def decimalToBinary(n): return bin (n).replace( "0b" ,"") # Driver code if __name__ = = '__main__' : print (decimalToBinary( 8 )) print (decimalToBinary( 18 )) print (decimalToBinary( 7 )) |
输出:
100010010111
二进制到十进制
Example -: 10111). 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 > 0.Final Conversion -: (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 11
Python3
# Function calculates the decimal equivalent # to 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 ) |
输出:
459
使用int()将二进制转换为十进制:
Python3
# Function to convert Binary number # to Decimal number def binaryToDecimal(n): return int (n, 2 ) # Driver code if __name__ = = '__main__' : print (binaryToDecimal( '100' )) print (binaryToDecimal( '101' )) print (binaryToDecimal( '1001' )) |
输出:
459
本文由 Pushpanjali Chauhan .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END