Python进制转换
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
"""
可以看到,最终我们得到了十进制下的整数100
在8
位二进制下的表示结果为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进制转换相关推荐
- python进制转换简述
python进制转换可以参考十进制理解,逢十进一 同理二进制就是逢二进一,八进制逢八进一,十六进制逢十六进一,这里要注意,十六进制由0-9,和a,b,c,d,e,f组成,a-f分别代表10-15 1. ...
- Python进制转换10进制转换为16进制,不使用hex函数
笔试中遇到的问题 Python进制转换10进制转换为16进制,不使用hex函数 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字 ...
- 小白兔入手:Python进制转换问题(二进制、八进制、十进制、十六进制)
巩固完C语言和C++的相关算法后,开始学习这个号称简洁.功能强大.无所不能的Python语言,真是稀奇啊!! 这次来总结一下关于进制问题在Python中如何实现的,以及为什么当我就输入input函数时 ...
- python 进制转换 递归_python--使用递归优雅实现列表相加和进制转换
咦,好像坚持了一段时间,感觉又有新收获啦. # coding: utf-8 class Stack: def __init__(self): self.items = [] # 是否为空 def is ...
- python进制转换函数及方法
python进制转换函数 一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数 result = int(n,M) --------------------------- ...
- Python进制转换后去掉“0b“,“0x“,“0o“
Python在进制转换之后会带上"0b"."0x"."0o"的进制转换符,而在具体使用过程中,很多时候我们又并不希望输出的结果带上进制前缀, ...
- python进制转换大全
二进制bin() : 描述:将其它进制的数转换为二进制的数.如八进制,十进制,十六进制等. 语法:bin(number) 返回一个二进制数. number -- 其它进制的数 八进制oct(): 描 ...
- python进制转换函数-Python中进制转换函数的使用
Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...
- Python进制转换的完全实现——2/10/16进制原/补码互转
一.需要转换的几种情况 不带符号位的整数 2进制 10进制 16进制 2进制 – bin2dec() bin2hex() 10进制 dec2bin() – dec2hex() 16进制 hex2bin ...
- python的进制转换器,Python进制转换
进制转换: 进制转换是人们利用符号来计数的方法. 进制转换由一组数码符号和两个基本因素"基数"与"位权"构成. 基数是指,进位计数制中所采用的数码(数制中用来表 ...
最新文章
- python如何定义一个简单的栈
- Bootstrap-table学习笔记(一)
- UITableViewCell有关处理touch事件的问题
- Python Module_subprocess_调用 Powershell
- HDU2571:命运(简单dp)
- io.js 1.0.x发布
- 怎么来判断光端机产品的性能优劣?光端机的产品性能有哪些?
- combobox的联动练习
- Windows Phone 7 开发 31 日谈——第25日:外部API
- boost context上下文切换
- Nginx 配置生成自签证书
- Apache Flink 进阶(一):Runtime 核心机制剖析
- 用C/C++实现SMC动态代码加密技术
- 【Java笔记】Java开发实战经典 - 第三章
- Computational Social Science计算社会学-《Science》文章翻译
- Delphi 开发so库,Delphi 调用SO库
- word 此文件来自其它计算机,问题解决: 此文件来自其他计算机,可能被阻止以帮助保护该计算机/WORD在试图打开文件时遇到错误……...
- 微信小程序覆盖map组件
- Error converting data type...
- 我们无法创建新分区。【错误:0x80042468】