python中的进制转换的几个小问题

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,这样才能对应输出相应的结果

或者可以自己来写相应的进制转换函数,后面我再更新。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值