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

python进制转换函数及方法[通俗易懂]python进制转换函数一.通过int函数实现其他进制转十进制假设M为某已知进制字符串n的进制数result=int(n,M)——————————————————————————————->>>result=int(‘10101’,2)>>>result>>>21result为转换为的十进制结

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

python进制转换函数

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

result = int(n,M)
-------------------------------------------------------------------------------------------
>>> result = int('10101',2)
>>> result
>>> 21

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

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

result = bin(n)  #十进制转二进制
result = oct(n)  #十进制转八进制
result = hex(n)  #十进制转十六进制
-------------------------------------------------------------------------------------------
>>> (bin(1234))
>>> '0b10011010010'

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

>>> result = bin(1234)[2:]
>>> result
>>> '10011010010'

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

a = '10101'
result = oct(int(a,2))[2:]

其他情况类似。

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

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.net/144350.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月19日 下午7:00
下一篇 2022年5月19日 下午7:20


相关推荐

  • 华为的OD,值得去吗?「建议收藏」

    华为的OD,值得去吗?「建议收藏」最近有不少小伙伴接到了华为OD的面试邀约,但搞不清楚OD到底怎么回事儿,要不要去。所以今天来说说华为的OD到底是怎么回事儿,怎么判断是否值得去。1、华为的OD是怎么回事儿OD,是OutsourcingDispacth的缩写,简单粗暴地讲,就是外包派遣,劳务派遣。基本模式是这样的: A公司是外包公司(或劳务派遣公司,或人力资源公司); A公司签了一堆人,程序…

    2022年7月17日
    120
  • spel表达式注入[通俗易懂]

    spel表达式注入[通俗易懂]使用parseExpression方法将字符串表达式转换为Expression对象;ParserContext接口用于定义字符串表达式是不是模板,及模板开始与结束字符;

    2025年10月30日
    4
  • ClipCursor函数引用注意

    ClipCursor函数引用注意nbsp 写了一个鼠标锁程序 但是 ClipCursor 函数的 net 下调用却出了点问题 以下是代码 调试时出现 quote 对 nbsp PInvoke nbsp 函数 鼠标锁 鼠标锁 Form1 ClipCursor 的调用导致堆栈不对称 原因可能是托管的 nbsp PInvoke nbsp 签名与非托管的目标签名不匹配 请检查 nbsp PInvoke nbsp 签名的调用约定和参数与非托管的目标签名是否匹配 quote 查找

    2026年3月18日
    2
  • Idea激活码最新教程2023.3.8版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2023.3.8版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2023 3 8 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2023 3 8 成功激活

    2025年5月29日
    15
  • android 混淆不起作用,Android代码混淆的写法总结

    android 混淆不起作用,Android代码混淆的写法总结Apk文件被反编译出来能被获取到里面的代码。对于这种情况,我们可以对项目代码进行混淆,随机生成难理解的类名,方法名,让代码难以阅读,加大功能被盗取的难度。混淆可以起到压缩Apk,混淆文件,预检,优化的作用。1.使用方式,在gradle文件中设置minifyEnabled为true即可开启混淆buildTypes{release{minifyEnabledture//是否开启代码混淆pro…

    2022年5月24日
    34
  • 小强学Python+OpenCV之-1.3绘图

    小强学Python+OpenCV之-1.3绘图

    2022年3月3日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号