十进制转换成二进制
#算法:除2反向取余;用整数除以2,会得到一个商和余数,继续用商整除2,直到商为0; # 然后把余数从下往上取出来,就是转换后的二进制的结果 def devTobin(num): result = [] while 1: result.append(str(num%2)) num = num // 2 if num == 0: break return ''.join(result[::-1]) print(devTobin(789))
二进制转十进制
#110 = 0 * 2^0 + 1 * 2^1 + 1 * 2^2 = 6 #从倒着取数 def binTodev(binnum): result = 0 num_length = len(str(binnum)) for i in range(num_length): result += int(str(binnum)[-(i+1)]) * pow(2,i) #注意str与int之间相互转换 return result print(binTodev(110))