python中常见进制之间的转换方式是什么
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"python中常见进制之间的转换方式是什么"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python中常见进制之间的转换方式是什么"文章能帮
千家信息网最后更新 2026年10月31日python中常见进制之间的转换方式是什么
这篇文章主要介绍"python中常见进制之间的转换方式是什么"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python中常见进制之间的转换方式是什么"文章能帮助大家解决问题。
1. 很多情况下需要进行不同进制之间的转换
其中比较常用到的是python的内置函数进行进制的转换,一般使用内置函数进行转换的时候是先将控制台输入的字符串或者是自定义的字符串先转换为10进制然后将10进制转换为其他的进制,常见的是二进制、十进制、八进制、十六进制之间的转换,其中遵循一个原则是:
其他进制转为十进制使用int函数,其他进制转为二进制使用bin函数,其他进制转为八进制使用oct函数,其他进制转为十六进制转为hex函数,并且是借助于10进制作为中间的桥梁进行转换,也就是使用到int()函数,
下面的表格反应了常见进制之间的转换
并且转换为对应的权重之后对应的字符串会有相应的前缀,二进制前缀为0b,八进制前缀为0o,十六进制前缀为0x
| 2进制 | 8进制 | 10进制 | 16进制 | |
| 2进制 | - | bin(int(input(),8)) | bin(int(input(),10)) | bin(int(input(),16)) |
| 8进制 | oct(int(input(), 2)) | - | oct(int(input(),10)) | oct(int(input(),16)) |
| 10进制 | int(input(),2)) | int(input(),8) | - | int(input(),2) |
| 16进制 | hex(int(input(), 2)) | hex(int(input(),8)) | hex(int(input(),10)) | - |
使用内置函数的时候反正是转换为哪一个进制就使用一个进制对应的函数即可,中间需要先转换为十进制(int()函数),其中进制转换涉及到的内置函数有:2进制:bin(),8进制:oct(),10进制:int(),16进制:hex()
if __name__ == '__main__': # input接收到的是字符串, 使用int函数定义输入的是什么进制的字符串转换为10进制数字 print(bin(int(input(), 16))) print(int(input(), 10)) print(oct(int(input(), 10))) print(hex(int(input(), 10)))
2. 第二种是使用format函数进行转换
在format中加上b,o,x将其他进制的转换为二进制、八进制或者是十六进制
if __name__ == '__main__': print("{:b}".format(int(input(), 8))) print("{:o}".format(int(input(), 8))) print("{:x}".format(int(input(), 8)))3. 手动转化
10进制转换为其他进制代码
class Solution: # 将十进制数字转换为任意的进制(1-16) def decimalToAny(self, decimal: int, x: int): remainder = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"] # 当n大于0的时候执行循环 res = "" while decimal: res = remainder[decimal % x] + res decimal //= x return res if __name__ == '__main__': decimal, x = map(int, input().split()) print(Solution().decimalToAny(decimal, x))
其他的进制转为10进制代码
class Solution: # 快速幂: x ** n def quickPower(self, x: int, n: int): res = 1 while n > 0: if n % 2 == 1: res *= x x *= x n //= 2 return res def anyToDecimal(self, s: str, base: int): n = len(s) res = 0 for i in range(n): # 数字, ord函数获取字母的ascii值 if "0" <= s[i] <= "9": res += (ord(s[i]) - ord("0")) * self.quickPower(base, n - i - 1) # 16进制数字对应的权重 elif "a" <= s[i] <= "f": res += (ord(s[i]) - ord("a") + 10) * self.quickPower(base, n - i - 1) else: res += (ord(s[i]) - ord("A") + 10) * self.quickPower(base, n - i - 1) return res if __name__ == '__main__': li = input().split() print(Solution().anyToDecimal(li[0], int(li[1])))关于"python中常见进制之间的转换方式是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
进制
函数
之间
常见
字符
二进制
八进制
前缀
十六进制
十进制
字符串
数字
十进
方式
时候
知识
不同
代码
权重
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
百单网互联网科技有限公司
互联网是第几次科技革命的成果
云信互联网科技有限公司
今日互联网科技
以房互联网科技
互联网科技股票
艾特科技互联网
互联网科技宣传片
隆华科技工业互联网
随着互联网科技发展
华夏互联网科技业
玉溪互联网科技怎么选
互联网科技扶贫时间
互联网科技和信息
互联网金融科技公司的优势
江苏苏星互联网科技有限公司
互联网风格科技公司名称
互联网金融运营模式中的金融科技
数字互联网科技有限公司
齐家互联网科技
致骋互联网科技
凡科互联网科技
互联网科技论文
互联网科技股午盘股票涨跌
汉立互联网科技有限公司联系电话
湖南洣水互联网科技有限公司扣款
允成互联网科技有限公司融资
广州燕处互联网科技有限公司
互联网金融运营模式中的金融科技