Python进制转换

  • 十进制转换为二进制
  • 十进制转换为八进制
  • 十进制转换为十六进制
  • 二进制转换为十进制
  • 八进制转换为十进制
  • 十六进制转换为十进制
  • 二进制,八进制,十六进制之间的相互转换
    • 十六进制转换为二进制
    • 二进制转换为十六进制
  • 附录

这里以十进制数 10为例,转换为其他进制。

十进制转换为二进制

# 初始化整数10
num = 10
# 将整数10转换为二进制表示
print(bin(num))
# 去掉二进制表示前的标识符0b
print(bin(num)[2:])
"""
result:
0b1010
1010
"""

从上述的结果可以看到,我们成功地将十进制下的整数10转换为了二进制下的1010。然而这不够,我们再来看一个例子,如果我们需要将100转换为二进制表达呢?

# 初始化整数100
num = 100
# 将整数100转换为二进制表示
print(bin(num))
# 去掉二进制表示前的标识符0b
print(bin(num)[2:])
"""
result:
0b1100100
1100100
"""

我们可以看到,十进制下的整数100转换为了二进制下的1100100。不难发现,我们二进制下的表打是一个7位数。我们知道,通常在计算机中,我们会使用8位,16位,32位,64位来表示一个数字。也就是说,我们应该使用一个8位数来表示100这个整数。显然这里的7位数1100100省略了最前面的0

所以我们需要对上述代码进行一些小的改动,最终结果如下:

# 初始化整数100
num = 100
# 初始化一个新的字符串对象,存储最终的二进制结果
str1 = ""
# 将整数100转换为二进制表示
num_8 = bin(num)
# 去掉二进制表示前的标识符0b
num_8 = num_8[2:]
# 将最终的结果最高为前加上0
if len(num_8) < 8:str1 = "0" * (8 - len(num_8)) + num_8print(str1)
"""
result:
01100100
"""

可以看到,最终我们得到了十进制下的整数1008位二进制下的表示结果为01100100。如果十进制下的整数很大,则可以采用16位,甚至更多位数的二进制表示结果。原理同上述代码。注意:二进制的表示结果是string类型的,而不再是int类型了。八进制,十六进制的结果也是string类型

十进制转换为八进制

# 初始化整数10
num = 10
# 将整数10转换为二进制表示
print(oct(num))
# 去掉二进制表示前的标识符0b
print(oct(num)[2:])
"""
result:
0o12
12
"""

十进制转换为十六进制

# 初始化整数10
num = 10
# 将整数10转换为二进制表示
print(hex(num))
# 去掉二进制表示前的标识符0b
print(hex(num)[2:])
"""
result:
0xa
a
"""

二进制转换为十进制

str1 = "1010"
print(int(str1, 2))
"""
result:
10
"""

八进制转换为十进制

str1 = "10"
print(int(str1, 8))
"""
result:
8
"""

十六进制转换为十进制

str1 = "f"
str2 = "F"
print(int(str1, 16))
print(int(str2, 16))
"""
result:
15
15
"""

二进制,八进制,十六进制之间的相互转换

十六进制转换为二进制

这里我们以十六进制转换为二进制举例。我们可以先将十六进制转换为十进制,然后再将十进制转换为二进制即可。

str1 = "f"
result = bin(int(str1, 16))[2:]
print(result)
"""
result:
1111
"""

二进制转换为十六进制

str1 = "1111"
result = hex(int(str1, 2))[2:]
print(result)
"""
result:
f
"""

特别注意: 最终我们获取到的十六进制结果为小写的f字符,然而当我们表示十六进制的数字时,我们是不区分大写还是小写字符的,因此在实际应用中我们可以进行相应的调整。

附录

通过观察不难发现,二进制,八进制,十六进制下的标识符为:

项目 内置转换函数 标识符
二进制 bin() 0b
八进制 oct() 0o
十六进制 hex() 0h

不难发现,标识符为0加上内置转换函数的首字母。

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

Python进制转换相关推荐

  1. python进制转换简述

    python进制转换可以参考十进制理解,逢十进一 同理二进制就是逢二进一,八进制逢八进一,十六进制逢十六进一,这里要注意,十六进制由0-9,和a,b,c,d,e,f组成,a-f分别代表10-15 1. ...

  2. Python进制转换10进制转换为16进制,不使用hex函数

    笔试中遇到的问题 Python进制转换10进制转换为16进制,不使用hex函数 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字 ...

  3. 小白兔入手:Python进制转换问题(二进制、八进制、十进制、十六进制)

    巩固完C语言和C++的相关算法后,开始学习这个号称简洁.功能强大.无所不能的Python语言,真是稀奇啊!! 这次来总结一下关于进制问题在Python中如何实现的,以及为什么当我就输入input函数时 ...

  4. python 进制转换 递归_python--使用递归优雅实现列表相加和进制转换

    咦,好像坚持了一段时间,感觉又有新收获啦. # coding: utf-8 class Stack: def __init__(self): self.items = [] # 是否为空 def is ...

  5. python进制转换函数及方法

    python进制转换函数 一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数 result = int(n,M) --------------------------- ...

  6. Python进制转换后去掉“0b“,“0x“,“0o“

    Python在进制转换之后会带上"0b"."0x"."0o"的进制转换符,而在具体使用过程中,很多时候我们又并不希望输出的结果带上进制前缀, ...

  7. python进制转换大全

    二进制bin() : 描述:将其它进制的数转换为二进制的数.如八进制,十进制,十六进制等. 语法:bin(number)  返回一个二进制数. number -- 其它进制的数 八进制oct(): 描 ...

  8. python进制转换函数-Python中进制转换函数的使用

    Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...

  9. Python进制转换的完全实现——2/10/16进制原/补码互转

    一.需要转换的几种情况 不带符号位的整数 2进制 10进制 16进制 2进制 – bin2dec() bin2hex() 10进制 dec2bin() – dec2hex() 16进制 hex2bin ...

  10. python的进制转换器,Python进制转换

    进制转换: 进制转换是人们利用符号来计数的方法. 进制转换由一组数码符号和两个基本因素"基数"与"位权"构成. 基数是指,进位计数制中所采用的数码(数制中用来表 ...

最新文章

  1. python如何定义一个简单的栈
  2. Bootstrap-table学习笔记(一)
  3. UITableViewCell有关处理touch事件的问题
  4. Python Module_subprocess_调用 Powershell
  5. HDU2571:命运(简单dp)
  6. io.js 1.0.x发布
  7. 怎么来判断光端机产品的性能优劣?光端机的产品性能有哪些?
  8. combobox的联动练习
  9. Windows Phone 7 开发 31 日谈——第25日:外部API
  10. boost context上下文切换
  11. Nginx 配置生成自签证书
  12. Apache Flink 进阶(一):Runtime 核心机制剖析
  13. 用C/C++实现SMC动态代码加密技术
  14. 【Java笔记】Java开发实战经典 - 第三章
  15. Computational Social Science计算社会学-《Science》文章翻译
  16. Delphi 开发so库,Delphi 调用SO库
  17. word 此文件来自其它计算机,问题解决: 此文件来自其他计算机,可能被阻止以帮助保护该计算机/WORD在试图打开文件时遇到错误……...
  18. 微信小程序覆盖map组件
  19. Error converting data type...
  20. 我们无法创建新分区。【错误:0x80042468】

热门文章

  1. lisp 标注螺纹孔_尺寸标注之螺纹标注的正确方式
  2. python 文字生成图片
  3. 02-Spring的核心API
  4. 【SSM项目实战】航班订票系统SpringMVC+MyBatis+LayUI
  5. 机器学习教程 之 Boosting 与 bagging:集成学习框架
  6. java面试题(仅供参考)
  7. 【渝粤教育】电大中专电商运营实操 作业 题库
  8. GMSK调制解调(一)
  9. Vue进阶-异步动态加载组件
  10. STM32单片机驱动步进电机—简单篇