python中可以直接调用函数来实现进制的转换,在学习过程中,我遇到了几个问题,记录一下:
如果需要将当前的二进制(八进制、十六进制)等转换成对应的十进制的数,可以使用下面的方法:
x=input("输入要转换的数字")
print(int(x,2)) #将当前为二进制的数转换成十进制
如果你当前输入的数是8进制,就把对应的2的位置,改成8就可以,这样在编译过程中,系统就会认为你是想要把这个八进制的数转换成十进制的数。
如果想要把十进制的数转换成二进制,那么可以使用下面的内置函数:
x=input()
print(bin(int(x))) #把当前十进制的数转换成二进制
类似的,如果要把一个整数转换成八进制或者十六进制等,这里一定需要注意是整数,可以用下面的内置函数来直接转换:
hex(x) #把一个整数x转换成十六进制的字符串
oct(x) #把一个整数x转换成八进制的字符串
注:如果要用到以上三种函数:
bin(x)
hex(x)
oct(x)
它们返回的结果都是字符串,并且在开头会有相应的进制前缀:0b、0o、0x
在使用上述三个内置函数的时候,一定要注意,是要把整数转换成对应的二进制、八进制或者十六进制的字符串;
例如:
x=input()
print(bin(x))
这样就会报错
原因是:input接收的是我们输入的字符串,而不是整数,所以如果要使用内置的进制转换函数,就需要对用input接收的字符串进行类型转换成int,这样才能对应输出相应的结果
或者可以自己来写相应的进制转换函数,后面我再更新。。。