吾爱乐享
个人学习网站

十进制转二进制和二进制转十进制方法

#十进制转二进制
'''
十进制转二进制是把十进制的数都处于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")
赞(0) 打赏
未经允许不得转载:吾爱乐享 » 十进制转二进制和二进制转十进制方法

评论 抢沙发

评论前必须登录!

 

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏