文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python二进制转化为十进制数学算法详解

2023-01-06 12:02

关注

在python中可以通过内置函数int()函数进行二进制转十进制;int()函数可以将一个指定进制的数字型字符串或者十进制数字转化为整型。

Python

Python是一种广泛使用的解释型、高级和通用的编程语言。Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

Python二进制

解题思路很典型,利用二进制数做加法的特性,递归或迭代计算不考虑进位的结果和有无进位,将加法的结果分为不考虑进位的结果和进位进位,分别用位运算处理。不考虑进位的结果用异或计算a+b(无进位) = a^b验证:0+0=0=0^0, 1+0=0=1^0, 1+1=0=1^1是否进位用与运算表示。因为是进位,因此结果还需要向左移一位a+b(进位)= (a&b) << 1验证:0+0=0=0&0, 1+0=0=1&0, 1+1=0=1&1综上,两个数的加法可以表示为 a+b = a^b + (a&b) << 1。

Python十进制

由于十进制数是一个加权数,因此从十进制到二进制(从10到2)的转换也将产生一个加权的二进制数,其中最右边的位是最低有效位LSB,而最左的位 是最高有效位或最高有效位,我们可以将其表示为MSB。

Python二进制转化为十进制数学算法

网上大多是直接用函数转化二进制的,下面的写法是自己的数学算法

# binary意为二进制
binary = input("请输入您的二进制组\n")
binary_ = list(binary)
bin_ = len(binary_)
 
power_ = 0
 
for i in range(bin_):  # 计算第一个二进制
    if binary_[i] == '1':
        length = bin_ - 1 - i  # 算背后还有几位
        power = 1
        while length > 0:
            length -= 1
            power = power * 2
        power_ = power + power_
 
print(power_)

数学能力对于编程来说也是至关重要的,希望大家可以在闲暇之余多做一些算法题,锻炼自己!

同时在这里也给大家分享一个好用的内置函数map( )

Python的手册中是这样介绍的:

map( function , iterable , / , *iterables )

Return an iterator that applies function to every item of iterable, yielding the results.

返回一个迭代器,该迭代器将函数应用于可迭代的每个项

*迭代器:迭代器的作用是用来访问容器(用来保存元素的数据结构)中的元素,所以使用迭代器,我们就可以访问容器中里面的元素。没错!这和访问数组这个序列的指针一样,因为数组范围内的指针就是迭代器的一种

例:map( int , string[ i ])

将string的元素一个个转化为int类型

到此这篇关于Python二进制转化为十进制数学算法的文章就介绍到这了,更多相关Python二进制转化为十进制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯