首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python二进制转十进制算法、十进转二进制算法

Python二进制转十进制算法、十进转二进制算法

作者头像
全栈程序员站长
发布2022-09-07 18:21:59
发布2022-09-07 18:21:59
1.4K0
举报

大家好,又见面了,我是你们的朋友全栈君。

二进制数转换成十进制数:二进制数从右向左每位数乘以2的次方(从0开始,从右向左依次+1),然后相加求和即可

如:0101转成十进制为:1*20+0*21+1*22+0*23 =1+0+4+0=5

算法实现:

#coding=utf-8 b=raw_input(“请输入一个二进制数:”.decode(“utf-8”).encode(“gbk”)) sum=0 for i in range(len(b)): sum+=int(b[len(b)-1-i])*pow(2,i) print u”转换成十进制数是:”,sum

——————————————-

十进制数转换成二进制数:十进制数除2取余,商继续除2取余,直到商为0,所有余数逆顺即可

如:12转换成二进制是:1100

12/2=6 —— 0 第4位

6/2=3 —— 0 第3位

3/2=1 —— 1 第2位

1/2=0 —— 1 第1位

算法实现:

#coding=utf-8 n=int(raw_input(u”请输入一个正整数:”.encode(“gbk”))) res=[] res.append(str(n%2)) while n/2!=0: n=n/2 res.append(str(n%2)) res.reverse() print u”转化为二进制是:”,””.join(res)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155913.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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