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

本文使用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

  

猜你喜欢

转载自blog.csdn.net/weixin_44239541/article/details/88543786