Python中的二进制到十进制,反之亦然
编写Python代码以将十进制数转换为等效的二进制数,反之亦然。
例子:
From decimal to binary
Input : 8
Output : 1 0 0 0
From binary to decimal
Input : 100
Output : 4
十进制转二进制
Keep calling conversion function with n/2 till n > 1,
later perform n % 1 to get MSB of converted binary number.
Example :- 7
1). 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("\n")
decimalToBinary(18)
print("\n")
decimalToBinary(7)
print("\n")
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))
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)
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'))
输出:
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))
输出:
1000
10010
111
二进制转十进制
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 > 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)
输出:
4
5
9
使用 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'))
输出:
4
5
9