当前位置:   article > 正文

python:整数在二进制、八进制、十进制和十六进制之间转换_二进制,八进制,十进制,十六进制的函数表达式

二进制,八进制,十进制,十六进制的函数表达式

本文使用python中自带函数将一个整数在二进制、八进制、十进制和十六进制之间自由转换。

 这个整数可能是个int,也可能是个string。

 用到了otc,hex,bin,format这四个函数,和int这个class

 

一、十进制转换为其他进制

十进制转为二进制 bin(整数型)

十进制转换为八进制 oct(整数型)

十进制转换为十六进制 hex(整数型)

  1. # 十进制转换为其他进制
  2. a=int(input('请输入要转换的十进制数:'))
  3. # 十进制转二进制 (bin)
  4. b=bin(a)
  5. print('十进制转换为二进制是:',b)
  6. # 十进制转换为八进制 (oct)
  7. c=oct(a)
  8. print('十进制转换为八进制是',c)
  9. # 十进制转换为十六进制 (hex)
  10. d=hex(a)
  11. print('十进制转换为十六进制是',d)

运行结果:

  1. 请输入要转换的十进制数:6
  2. 十进制转换为二进制是: 0b110
  3. 十进制转换为八进制是 0o6
  4. 十进制转换为十六进制是 0x6

二、其他进制转换为十进制

其他进制转换为十进制的形式是:int(str,bse) 

str(其他进制数以字符串形式),base是对应的几进制(2,8,16)

  1. # 1、二进制转换为十进制
  2. a1 = input('请输入要转换的二进制数:')
  3. b1 = int(a1,2)
  4. print('二进制转换为十进制是:',b1)
  5. # 2、八进制转换为十进制
  6. a2 = input('请输入要转换的八进制数:')
  7. b1 = int(a2,8)
  8. print('八进制转换为十进制是:',b1)
  9. # 3、十六进制转换为十进制
  10. a3 = input('请输入要转换的十六进制数:')
  11. b1 = int(a3,16)
  12. print('十六进制转换为十进制是:',b1)

运行结果:

  1. 请输入要转换的二进制数:0b1110
  2. 二进制转换为十进制是: 14
  3. 请输入要转换的八进制数:0o1236001
  4. 八进制转换为十进制是: 343041
  5. 请输入要转换的十六进制数:0xabc24010
  6. 十六进制转换为十进制是: 2881634320

三、二进制、十进制、十六进制之间相互转换无法直接转换,需要先转换为十进制再转换为其他进制

  1. # 二进制转换为八进制
  2. b1=input('请输入一个二进制数:')
  3. c1=oct(int(b1,2))
  4. print('二进制转换为八进制是:',c1)
  5. # 八进制转换为二进制
  6. b2=input('请输入一个八进制数:')
  7. c2=bin(int(b2,8))
  8. print('八进制转换为二进制是:',c2)
  9. # 二进制转换为十六进制
  10. b3=input('请输入一个二进制数:')
  11. c3=hex(int(b3,2))
  12. print('二进制转换为十六进制是:',c3)
  13. # 十六进制转换为二进制
  14. b4=input('请输入一个十六进制数:')
  15. c4=bin(int(b4,16))
  16. print('十六进制转换为二进制是:',c4)
  17. # 八进制转换为十六进制
  18. b5=input('请输入一个八进制数:')
  19. c5=hex(int(b5,8))
  20. print('八进制转换为十六进制是:',c5)
  21. # 十六进制转换为八进制
  22. b6=input('请输入一个十六进制数:')
  23. c6=oct(int(b6,16))
  24. print('十六进制转换为八进制是:',c6)

运行结果:

  1. 请输入一个二进制数:0b0010
  2. 二进制转换为八进制是: 0o2
  3. 请输入一个八进制数:0o0012
  4. 八进制转换为二进制是: 0b1010
  5. 请输入一个二进制数:0b0010
  6. 二进制转换为十六进制是: 0x2
  7. 请输入一个十六进制数:0xac02
  8. 十六进制转换为二进制是: 0b1010110000000010
  9. 请输入一个八进制数:0o0024
  10. 八进制转换为十六进制是: 0x14
  11. 请输入一个十六进制数:0xac32
  12. 十六进制转换为八进制是: 0o126062

四、format方法转换

 format(integer, 'x') 将integer转换为16进制,不带0x。integer为整型,'x'可换为'o','b','d'相对应八、二、十进制

  1. print(format(12,'x')) # 十六进制
  2. print(format(12,'o')) # 八进制
  3. print(format(12,'d')) # 十进制
  4. print(format(12,'b')) # 二进制

运行结果:

  1. c
  2. 14
  3. 12
  4. 1100

 

 

 

 

  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/702101
推荐阅读
相关标签
  

闽ICP备14008679号