python四种进制转换函数,python的用算法进制转换详解

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: