Python二进制转化为十进制数学算法详解
作者:__如果 发布时间:2021-11-09 19:45:20
在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类型
来源:https://blog.csdn.net/m0_73202283/article/details/128201632
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- #设a为字符串import timea = "2011-09-28 10:00:00"#中间过程,一般都需要将字符串转化
- 一、外键设置方法1、在MySQL中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在
- 在日常项目中,使用Json格式进行数据封装是比较常见的操作,看一下golang怎么实现。1、json序列化将json字符串转为go语言结构体
- go get 和 go install 的区别先看结论:go get: 对 go mod 项目,添加,更新,删除&nbs
- 本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法。分享给大家供大家参考,具体如下:在图形界面管理工具 MySql Qu
- vue项目依赖升级报错处理1.Vue Router 升级到3.5.1报错:Navigation cancelled from "/
- 1: 遍历并输出Table中值<table id="tb"><tr><td><
- up.htm'::::::: 此程序属扬子原创 ::::::::::::::::::':::::: 在sql2000,200
- 实现效果:通过url所绑定的关键名创建目录名,每次访问一个网页url后把文件下载下来代码:其中 data[i][0]、data[i][1]
- <div style='display:none'> <script type="text/ja
- jqGrid是一个优秀的基于jQuery的DataGrid框架,想必大伙儿也不陌生,网上基于ASP的资料很少,我提供一个,数据格式是json
- 我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这
- 本文实例讲述了js实现简单的联动菜单效果。分享给大家供大家参考。具体如下:这是一个最简单的js联动菜单代码,在DW里可以自动生成,不想在DW
- 前几日在使用MySQL数据库的时候,出现了一处保存,故作此记录✍问题描述下面是我这样exam表的结构mysql> desc exam;
- PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选
- 自己尝试在本地搭建了 Django 项目后,想部署到自己云服务器上,经常多次尝试和多次踩坑(捂脸),总结如下:环境:ubuntu14, dj
- 静态链表和动态链表区别静态链表和动态链表的共同点是,数据之间"一对一"的逻辑关系都是依靠指针(静态链表中称"游
- 导语:举例:Python做一个根据后缀名整理文件的工具,先来看看效果:自动整理前:自动整理后:这样看起来就好很多了。1.准备开始之前,你要确
- IE6下浮出层常会需要增加一个iframe来解决浮出层被Obj穿透的问题,这个是目前最有效的方案,不过这个方案本身有个缺陷,就是iframe
- 查询死锁进程语句select request_session_id spid, OBJECT_NAME(resource_associate