十进制转二进制
- 原理:采用除2取余,逆序排列输出。
- 实现:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后依次翻转排序即可得到二进制数,在Python中我们采”//”(地板除)的方法实现转换
# 十进制整数转二进制def decToBin(num): arry = [] #定义一个空数组,用于存放2整除后的商 while True: arry.append(str(num % 2)) #用列表的append方法追加 num = num // 2 #用地板除求num的值 if num == 0: #若地板除后的值为0,那么退出循环 break
return "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接
print(decToBin(10))
输出结果:1010
二进制转十进制
- 原理:要从右到左用二进制的每个数去乘以2的相应次方求累加。
# 二进制整数转十进制def binToDec(binary): result = 0 #定义一个初始化变量,后续用于存储最终结果 for i in range(len(binary)): #利用for循环及切片从右至左依次取出,然后再用内置方法求2的次方 result += int(binary[-(i + 1)]) * pow(2, i)
return result
print(binToDec("1010"))结果:10
原文地址:https://www.cnblogs.com/ddpeng/p/11302368.html
时间: 2024-10-08 23:03:33