#十进制转二进制 ''' 十进制转二进制是把十进制的数都处于2得到的结果在除以2,直到除的结果是0为止,把所有的余数从后往前排列就是得到的二进制 125 /2 =62 1 62 / 2 = 31 0 31 /2 = 15 1 15 /2 = 7 1 7 / 2 = 3 1 3 / 2 =1 1 1 /2 = 0 1 二进制是:1 1 1 1 1 0 1 用bin()函数查看对应的值的二进制 print(bin(125)) ''' def int_of_bin(num :int): list =[] print(bin(num)) while True: if num // 2>=0: list.append(num % 2 ) num //=2 if num == 0: break else: break res = '0b' for i in list[::-1]: res += str(i) print(res) #二进制转十进制 ''' 二进制转十进制,是最高位的数乘以2的位次-1次方 1 1 1 1 1 0 1 第一位:1 * 2**6 =64 第二位:1 * 2**5 = 32 第三位:1 * 2**4 = 16 第四位:1 * 2**3 = 8 第五位:1 * 2**2 = 4 第六位:0 * 2**1 = 0 第七位:1 * 2**0 = 1 十进制数是:64+32+16+8+4+0+1==125 ''' def bin_of_int(binStr): strNew = str(binStr).split('0b')[-1] sum = 0 for i in range(len(strNew)): sum1 = int(strNew[i])* 2 ** (len(strNew) -1-i) sum +=sum1 print(sum) int_of_bin(61) bin_of_int("0b111101")
十进制转二进制和二进制转十进制方法
未经允许不得转载:吾爱乐享 » 十进制转二进制和二进制转十进制方法
评论前必须登录!
注册