I-05python各进制之间转换函数

一、bin()、oct()、int()、hex()

  • int():转换为10进制;语法:Int(字符串,字符串进制) 。例: int("f",16) 输出为15;int('11',2)输出为3  

即以下三个函数都是把10进制数转换成目标进制。

  • bin():转换为2进制;例:bin( int("f",16) )输出:'0b1111' .bin(15)同样输出'0b1111'。

  • oct():转换为8进制;

  • hex():转换为16进制。 

bin()、oct()、hex()的返回值均为字符串,分别带有0b、0o、0x前缀,后续处理时需注意。

以下的x必须为“字符串”,需用引号。

2->8:oct(int(x, 2))

8->2:bin(int(x, 8))

2->16:hex(int(x, 2))

16->2:bin(int(x, 16))

其他用法一样,就不举例了。

二、format用法

b,o,d,x 分别表示 二进制、八进制、十进制、十六进制。 

输出均为字符串类型,无前导
print(format(482,"x")) # 十进制转十六进制
print(format(15,"o")) # 十进制转八进制
print(format(15,"b")) # 十进制转二进制

x=format(482,"x")
print(x)
print(type(x))

运行结果:

1e2
17
1111
1e2
<class 'str'>

十六进制转二进制、八进制、十进制: 

print('{:b}'.format(0xef)) #十六进制转二进制:11101111
print('{:o}'.format(0xef)) #十六进制转八进制:357
print('{:d}'.format(0xef)) #十六进制转十进制:239

#格式化中加'#'表示加入标识
print('{:#b}'.format(0xef)) #十六进制转二进制:0b11101111,加标识 0b
print('{:#o}'.format(0xef)) #十六进制转八进制:0o357,加标识 0o
print('{:#d}'.format(0xef)) #十六进制转十进制:239,十进制不变

八进制、十进制转二进制:

print('{:b}'.format(0o357)) #八进制转二进制:11101111
print('{:b}'.format(239)) #十进制转二进制:11101111
print('{:#b}'.format(0o357)) #八进制转二进制:0b11101111,加标识 0b
print('{:#b}'.format(239)) #十进制转二进制:0b11101111,加标识 0b

十进制、八进制、二进制转十六进制:

print('{:x}'.format(239))  #十进制转十六进制:ef
print('{:x}'.format(0b11101111)) #二进制转十六进制:ef
print('{:x}'.format(0o357)) #八进制转十六进制:ef
 
#
print('{:#x}'.format(239))  #十进制转十六进制:0xef,加标识 0x
print('{:#x}'.format(0b11101111)) #二进制转十六进制:0xef,加标识 0x
print('{:#x}'.format(0o357)) #八进制转十六进制:0xef,加标识 0x
八进制以 '0o开头',二进制以 '0b' 开头,十六进制以 '0x' 开头。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值