python中的二进制到十进制,反之亦然

编写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
喜欢就支持一下吧
点赞7 分享