python bin函数源码_bin(),oct()和hex()

python内置的3个将int转换成2进制,8进制和16进制字符串的函数,bin(),oct()和hex()。注意着3个函数的返回值都是string。

>>> a = 123

>>> bin(a)

'0b1111011'

>>> oct(a)

'0o173'

>>> hex(a)

'0x7b'

>>>

>>> b = -321

>>> bin(b)

'-0b101000001'

>>> oct(b)

'-0o501'

>>> hex(b)

'-0x141'

还有个细节需要注意,bin,oct,hex这三个函数返回的字符串,除去了0b,0o和0x前缀,剩下的字符串并不都是双数!比如bin函数返回的并不都是8个bit的倍数,再比如hex(b),是-0x141,而我们有的时候喜欢按字节对齐,即显示-0x0141。如果需要对齐,就需要自己去修改这3个函数的返回值,也很简单啦。

bin,oct,hex这3个函数返回的字符串,都是python的合法的数字表达式。请看下面测试代码:

>>> d = 0b11011101

>>> d

221

>>> e = 0o123

>>> e

83

>>> f = 0x789

>>> f

1929

>>>

>>> g = -0x12

>>> g

-18

>>> h = eval(bin(123))

>>> h

123

>>> k = eval(oct(123))

>>> k

123

>>> p = eval(hex(-123))

>>> p

-123

因此,源代码中可以直接写2进制,8进制,16进制,在需要的时候,有的时候可以增加代码的可读性。0b,0o和0x,也可以大写,0B,0O和0X,一样的。

-- EOF --

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值