python四种进制转换函数,python的用算法进制转换详解
本文主要介绍了python中常用十进制之间的转换方法,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。
00-1010 1.在许多情况下,需要不同十进制之间的转换。下表反映了常用十进制系统之间的转换。2.第二种方法是使用format函数进行转换。3.手动将十进制转换成其他十进制代码。其他十进制系统转换成十进制代码。
目录
其中,python的内置函数常用来进行十进制转换。一般在使用内置函数进行转换时,首先将控制台输入的字符串或用户自定义的字符串转换成十进制,然后再转换成其他十进制。常见的转换是二进制、十进制、八进制和十六进制之间的转换。遵循以下原则之一:
其他十进制用int函数,其他二进制用bin函数,其他十进制用oct函数,其他十进制用hex函数,中间用十进制做桥梁,也就是用int()函数。
1. 很多情况下需要进行不同进制之间的转换
并且转换成相应的权重后,相应的字符串会有相应的前缀,二进制前缀是0b,八进制前缀是0o,十六进制前缀是0x。
二进制八进制十六进制二进制-bin(int(input(),8))bin(int(input(),10))bin(int(input(),16))八进制oct(int(input(),2))-oct(int(input () 16))十进制int(input(),2))int(input(),8)-int(input(),2))十六进制hex(int(input(),2))hex(int(input(),8))hex(int(input () 10))-使用内置函数时,可以使用与十进制对应的函数,无论如何都要转换成。中间需要转换成十进制(int()函数),其中涉及十进制转换的内置函数有:二进制:bin()、八进制:oct()、十进制:int()、十六进制:hex(
if __name__==__main__:
# input接收一个字符串,使用int函数将定义输入类型的字符串转换为十进制数。
print(bin(int(input(),16)))
print(int(input(),10))
print(oct(int(input(),10)))
print(hex(int(input(),10)))
下面的表格反应了常见进制之间的转换
在format中添加b、o和x,将其他二进制系统转换为二进制、八进制或十六进制系统。
if __name__==__main__:
打印(“{:b}”。format(int(input(),8)))
打印(“{:o}”。format(int(input(),8)))
打印(“{:x}”。format(int(input(),8)))
2. 第二种是使用format函数进行转换
3. 手动转化
类别解决方案:
#将十进制数转换为任意十进制数(1-16)
def decimalToAny托尼(self,decimal: int,x: int):
余数=[0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F]
#当n大于0时执行循环
res=
而decimal:
res=余数[小数% x] res
十进制//=x
返回资源
if __name__==__main__:
decimal,x=map(int,input()。拆分())
打印(解决方案()。decimalToAny(十进制,x))
10进制转换为其他进制代码
类别解决方案:
#快速电源: x ** n
def quickPower(self,x: int,n: int):
res=1
而n 0:
如果n % 2==1:
res *=x
x *=x
n //=2
返回资源
def anyToDecimal(self,s: str,base: int):
n=透镜
res=0
对于范围(n):内的I
# number,ord函数获取字母的ascii值
if 0=s[i]=9:
RES=(ord(s[I])-ord( 0 )* self . quick power(base,n - i - 1)
# 16重量对应十进制数
elif a=s[i]=f:
RES=(ord(s[I])-ord( a )10)* self . quick power(base,n - i - 1)
else:
RES=(ord(s[I])-ord( A )10)* self . quick power(base,n - i - 1)
返回资源
if __name__==__main__:
li=输入()。拆分()
打印(解决方案()。anyToDecimal(li[0],int(li[1]))
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。