作为程序员的你是否还在为进制转换的问题而感到发愁?
今天教你如何用几行代码简单进行进制的转换。
省时又省力!!
一、十进制转其他进制
#打开python交互式环境即可使用
y = bin(x) #十进制转二进制
y = oct(x) #十进制转八进制
y = hex(x) #十进制转十六进制
二、其他进制转十进制
#在交互式环境中
int("要转换的数",base='待转换的进制(此处默认为10)')
#含义是将'base进制转换为十进制数'
#使用脚本式环境时
import functools
int2 = functools.partial(int, base=2)
#将2进制数转化为10进制
int4 = functools.partial(int, base=4)
#将4进制数转化为10进制
int8 = functools.partial(int, base=8)
#将8进制数转化为10进制
int16 = functools.partial(int, base=16)
#将16进制数转化为10进制
print("int2(10)")
>>>2
三、写一个文件
#~/usr/bin/python3
#如果是Linux环境加上上面这串代码
import functools
int2 = functools.partial(int, base=2)
#将2进制数转化为10进制
int4 = functools.partial(int, base=4)
#将4进制数转化为10进制
int8 = functools.partial(int, base=8)
#将8进制数转化为10进制
int16 = functools.partial(int, base=16)
#将16进制数转化为10进制
z=0 #初始化z
X1 = int(input("是否将10进制数转化\n1为是,0为否\0")) #判断进制转换的方向
if X1==1:
x2=int(input("请输入您想转化为几进制?\0")) #如果是十进制转其他,那么具体转几进制
if x2==2:
y1=int(input("请输入您想转换的数:"))
z=bin(y1)
elif x2==8:
y1=int(input("请输入您想转换的数:"))
z=oct(y1)
elif x2==16:
y1=int(input("请输入您想转换的数:"))
z=hex(y1)
else:
print("暂不支持")
elif X1==0:
x = int(input("base=?\0")) #从外界输入
y = input("输入你想转换的数字")
if x == 2: #利用if判断
z = int2(y)
elif x == 4:
z = int4(y)
elif x == 8:
z = int8(y)
elif x == 16:
z = int16(y)
else:
print("输入不合理")
else:
print("输入不合理")
print(z) #输出结果