十进制、二进制的转换

十进制转换成二进制
#算法:除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))

猜你喜欢

转载自www.cnblogs.com/ff-gaofeng/p/11264985.html