前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python进制转换函数及方法[通俗易懂]

python进制转换函数及方法[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-31 15:41:20
7690
发布2022-08-31 15:41:20
举报

大家好,又见面了,我是你们的朋友全栈君。

python进制转换函数

一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数

代码语言:javascript
复制
result = int(n,M)
-------------------------------------------------------------------------------------------
>>> result = int('10101',2)
>>> result
>>> 21

result 为 转换为的十进制结果。

二.十进制转特定进制函数 假设q 为某十进制数(非字符串)python中的int类型的数据就是10进制

代码语言:javascript
复制
result = bin(n)  #十进制转二进制
result = oct(n)  #十进制转八进制
result = hex(n)  #十进制转十六进制
-------------------------------------------------------------------------------------------
>>> (bin(1234))
>>> '0b10011010010'

注意:当使用上述三个转换为2,8,16进制时,转换后的结果都会带有字段为2 的前缀(二进制对应‘0b’,八进制对应‘0o’,十六进制对应‘0x’)此时我们需要对字符串进行切片,得到不带前缀的结果。即:

代码语言:javascript
复制
>>> result = bin(1234)[2:]
>>> result
>>> '10011010010'

三.两种方式嵌套实现以十进制为桥梁的2,8,16进制转换 Eg:二进制转八进制:

代码语言:javascript
复制
a = '10101'
result = oct(int(a,2))[2:]

其他情况类似。

四.十进制转其他进制的通法 以十进制转十五进制为例:

代码语言:javascript
复制
def transform(n,m = 15):  #n为待转换的十进制数,m为要转换成的进制数
	str_ = ''
	trans = [0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e']   #列表trans中的元素个数与转换后的进制数相同
	remainder = []          #用于储存余数
	while n>0:
		x = n % m              
		remainder.append(x)
		n = n//m
	remainder.reverse()     #模拟手算进制转换时的倒写
	for item in remainder:
		str_ += str(trans[item])
	return str_

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144350.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python进制转换函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档