本文使用python中自带函数将一个整数在二进制、八进制、十进制和十六进制之间自由转换。
这个整数可能是个int,也可能是个string。
用到了otc,hex,bin,format这四个函数,和int这个class
一、十进制转换为其他进制
十进制转为二进制 bin(整数型)
十进制转换为八进制 oct(整数型)
十进制转换为十六进制 hex(整数型)
[Python] 纯文本查看 复制代码 # 十进制转换为其他进制
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)
int() 函数用于将一个字符串或数字转换为整型。 语法 以下是 int() 方法的语法: class int(x, base=10)
参数- x -- 字符串或数字。
- base -- 进制数,默认十进制。
[Python] 纯文本查看 复制代码 >>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
>>> int('10',8)
8
[Python] 纯文本查看 复制代码 # 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
三、二进制、十进制、十六进制之间相互转换无法直接转换,需要先转换为十进制再转换为其他进制
[Python] 纯文本查看 复制代码 # 二进制转换为八进制
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方法转换
[Python] 纯文本查看 复制代码 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
|