​相关资料:十进制整数与二进制数的转换

文章目录

  • 一、十进制转换成二进制
    • 1.1 bin函数实现
    • 1.2 补充:栈函数实现
      • 1.2.1 定义栈
      • 1.2.2 转换实现
  • 二、二进制转换成十进制
  • 三、相关题目

一、十进制转换成二进制

1.1 bin函数实现

# 十进制数:
A_10 = 8# 转换成二进制:
A_2 = bin(A_10)
## print(A_2)返回结果:0b1000# 取数字部分:
bin(A_10)[2:]
  1. 返回结果中的“ob”是二进制的前缀,用来表示之后的数字是二进制。
  2. 返回类型为字符类型。

1.2 补充:栈函数实现

内容来自课程:数据结构与算法

十进制转换为二进制,采用的是“除以2求余数”的算法。将整数不断除以2,每次得到的余数就是由低到高的二进制位:

(35)10=(100011)2(35)_{10} = (100011)_2 (35)10​=(100011)2​
得到的余数是从低到高的次序,而输出则是从高到低,所以需要一个栈来反转次序。

1.2.1 定义栈

class Stack:def __init__(self):# 创建一个空栈,不包含任何数据项。self.items = []def isEmpty(self):# 返回栈是否为空栈。return self.items == []def push(self, item):# 将item加入栈顶。无返回值。self.items.append(item)def pop(self):# 将栈顶数据项移除,并返回该值。return self.items.pop()def peek(self):# 返回栈顶的数据项但不移除。return self.items[len(self.items)-1] # 或者 self.items[-1]def size(self):# 返回栈中有多少个数据项。return len(self.items)

1.2.2 转换实现

from pythonds.basic.stack import Stackdef divideBy2(decNumber):remstack = Stack()while decNumber > 0:rem = decNumber % 2 # 求余数remstack.push(rem)decNumber = decNumber // 2 # 整数除binStr = ""while not remstack.isEmpty():binStr = binStr + str(remstack.pop())return binStrprint(divideBy2(35))

二、二进制转换成十进制

# 1. 字符串类型
A_2 = "101"
A_10 = int(A_2, 2)
# 2. 数值类型
A_2 = 0b101
A_10 = int(A_2)

注意:

  1. 当二进制数是字符串类型的时候,使用int函数时要加上参数2,否则会报错。
  2. 在写二进制数的时候,一定要加上0b这个前缀,否则会当成十进制数。
  3. 返回类型为int

三、相关题目

二进制求和
题解:

class Solution:def binaryAdd(self , A: str, B: str) -> str:# write code herec = int(A, 2) + int(B, 2)return bin(c)[2:]

贴一个在我知道int和bin函数之前写的题解:

class Solution:def binaryAdd(self , A: str, B: str) -> str:# write code heren, m = len(A), len(B)a, b = 0, 0for i in range(n):a += int(A[i]) * 2**(n-i-1)for j in range(m):b += int(B[j]) * 2**(m-j-1)c = a + bd = []while c > 0:d.append(str(c%2))c = c//2d.reverse()return "".join(d)

【python】二进制与十进制的转换相关推荐

  1. python 二进制,十进制,十六进制

    十进制:decimal system,每一位最高为9,达不到10 二进制:binary system,每一位最高为1,达不到2 八进制:octonary number system,每一位最高为7,达 ...

  2. 【计算机基础】二进制和十进制的转换计算

    二进制和十进制的转换非常简单 1.二进制转为十进制 首先讲一下"权重"的概念 数字中某位的权重这样计算:2的(该位所在的位数(从右至左)-1)次方 比如:10中的0的权重为:2^( ...

  3. Java的编程基础-----Java中二进制与十进制的转换

    Java的编程基础-----Java中二进制与十进制的转换 文章目录

  4. 汇编第一次实验(16位二进制对十进制的转换)

    实验要求: 实现16位二进制对十进制的转换.要求当二进制输入完成后立即显示十进制的结果. 方法一:通过比较法实现转换 .486 CMPDISP MACRO NN ;十进制逐位输出,DL存储的就是每一位 ...

  5. 常用cmd命令 总结 二进制与十进制的转换

    window+R:打开运行窗口 cmd:进入命令窗口 ipconfig:查看ip地址 d:进入d盘 dir:查看目录内容 cd workspace:进入workspace目录 cd  ../ :回到上 ...

  6. python 二进制与十进制之间的转换

    1.十进制 与 二进制之间的转换 (1).十进制转换为二进制,分为整数部分和小数部分 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数. ...

  7. python二进制转十进制编程_python 二进制与十进制之间的转换

    1.十进制 与 二进制之间的转换 (1).十进制转换为二进制,分为整数部分和小数部分 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数. ...

  8. Python 二进制,十进制,十六进制转换

    你好,我是悦创. 接下来来编写 Python 中的进制转换,我们来一一编写. 十六进制 转 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的 ...

  9. python二进制、十进制、8进制、16进制转换

    发现一位大佬的总结很好. 十进制转二进制 bin(18)--> '0b10010'     去掉0b就是10010    即为十进制18转二进制是10010 十进制转八进制oct(18) --& ...

  10. 二进制与十进制互相转换的计算方法(个人向)

    先理解什么是二进制 二进制(binary)是在数学和数字电路中指以2为基数的记数系统,是以2为基数代表系统的二进位制.这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1] .数字电 ...

最新文章

  1. 【跃迁之路】【578天】程序员高效学习方法论探索系列(实验阶段335-2018.09.06)...
  2. 【正一专栏】贾乃亮发文后李小璐会如何回应?
  3. WPF:仿WIN7窗体打开关闭效果
  4. mysql 查询语句执行顺序_MySQL 查询语句执行过程
  5. Shell openSomething - how is application component loaded in the runtime
  6. 利用Nmap对MS-SQLSERVER进行渗透
  7. python多行语句_python多行语句
  8. 新建文件夹和文件,并向文件中写入数据---------Android
  9. JSP和Servlet互相传输数据的过程中产生的乱码问题及解决方案(没有使用AJAX的情况)...
  10. matlab有限体积网格,用Matlab实现简单有限体积求解器
  11. Linux操作系统中修改hostname
  12. iOS开发-当APP涉及到用户敏感信息适配Xcode9及(ios11)
  13. 170925_Spring Cloud 微服务实战(翟永超著) 读书笔记(二)_什么是Spring Cloud Eureka?
  14. Openg图像缓存及显存布局
  15. 【R语言】字符串处理
  16. flex 实现水平布局 三等分
  17. 怎么压缩图片200k以下?这个压缩工具,3秒无损完成
  18. 异常检测算法:Elliptic Envelope算法的python代码实现
  19. videopose3d 用自己的视频跑结果
  20. 使用椭球表示物体的语义SLAM

热门文章

  1. 建表错误:ParseException line 1:55 cannot recognize input near ‘)‘ ‘rowformat‘ ‘delimited‘ in column type
  2. 分享一个CCLE细胞系数据(CCLE数据库不能用了吗?)
  3. opencv无法打开摄像头
  4. 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。
  5. 引用font-awesome图标库前端显示方框
  6. 【数据湖Hudi-8-Hudi集成Flink-入门】
  7. hach vue 跳转_Vue路由实现、路由导航、路由模式
  8. Maven子模块pom文件灰色下划线
  9. 多功能纺织品易燃性测试仪市场现状及未来发展趋势
  10. 基于pytorch的sque2suqe with attention实现与介绍