欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python:整数在二进制、八进制、十进制和十六进制之间转换

程序员文章站 2022-07-15 09:42:20
...

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

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

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

 

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

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

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

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

# 十进制转换为其他进制
a=int(input('请输入要转换的十进制数:'))
# 十进制转二进制 (bin)
b=bin(a)
print('十进制转换为二进制是:',b)
# 十进制转换为八进制  (oct)
c=oct(a)
print('十进制转换为八进制是',c)
# 十进制转换为十六进制 (hex)
d=hex(a)
print('十进制转换为十六进制是',d)

运行结果:

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

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

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

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

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

运行结果:

请输入要转换的二进制数:0b1110
二进制转换为十进制是: 14
请输入要转换的八进制数:0o1236001
八进制转换为十进制是: 343041
请输入要转换的十六进制数:0xabc24010
十六进制转换为十进制是: 2881634320

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

# 二进制转换为八进制
b1=input('请输入一个二进制数:')
c1=oct(int(b1,2))
print('二进制转换为八进制是:',c1)
# 八进制转换为二进制
b2=input('请输入一个八进制数:')
c2=bin(int(b2,8))
print('八进制转换为二进制是:',c2)
# 二进制转换为十六进制
b3=input('请输入一个二进制数:')
c3=hex(int(b3,2))
print('二进制转换为十六进制是:',c3)
# 十六进制转换为二进制
b4=input('请输入一个十六进制数:')
c4=bin(int(b4,16))
print('十六进制转换为二进制是:',c4)
# 八进制转换为十六进制
b5=input('请输入一个八进制数:')
c5=hex(int(b5,8))
print('八进制转换为十六进制是:',c5)
# 十六进制转换为八进制
b6=input('请输入一个十六进制数:')
c6=oct(int(b6,16))
print('十六进制转换为八进制是:',c6)

运行结果:

请输入一个二进制数:0b0010
二进制转换为八进制是: 0o2
请输入一个八进制数:0o0012
八进制转换为二进制是: 0b1010
请输入一个二进制数:0b0010
二进制转换为十六进制是: 0x2
请输入一个十六进制数:0xac02
十六进制转换为二进制是: 0b1010110000000010
请输入一个八进制数:0o0024
八进制转换为十六进制是: 0x14
请输入一个十六进制数:0xac32
十六进制转换为八进制是: 0o126062

四、format方法转换

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

print(format(12,'x'))  # 十六进制
print(format(12,'o'))  # 八进制
print(format(12,'d'))  # 十进制
print(format(12,'b'))  # 二进制

运行结果:

c
14
12
1100

 

 

 

 

  

上一篇: parity

下一篇: Parity game