前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >十进制转二进制和二进制转十进制方法

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

作者头像
吾爱乐享
发布2021-08-03 15:49:26
1.5K0
发布2021-08-03 15:49:26
举报
文章被收录于专栏:吾爱乐享
代码语言:javascript
复制
#十进制转二进制
'''
十进制转二进制是把十进制的数都处于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")
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档