Python二进制、八进制、十六进制数字的表示和转换

除了常用的十进制表示法,Python 也支持二进制、八进制和十六进制表示法。这些只是表示方法不同,但是它们表示的含义是一样的,如二进制中的 11 和十进制数中的 3 是一样的。

  1. Python 二进制表示法
    如十进制中的 100 用二进制表示就是 1100100,那么 100 就可以用 0b1100100 来表示。

a = 0b1100100 # 二进制1100100
a # 查看其值,默认用十进制表示
100 # 对应到十进制就是100

用 0B 也可以表示二进制数,效果和 0b 是一样的,如十进制的 100 也可以用 0B1100100 来表示。

a = 0B1100100
a
100

另外一个问题就是,如果知道了某个数的值,如何知道其二进制的表示法?Python 提供了一个函数 bin(),该函数输入是整数,输出是用二进制表示的字符串。如 bin(100) 就输出字符串 ‘0b1100100’。

a = bin(100) # 得到十进制数100的二进制表示法
a # 查看二进制表示法的值
‘0b1100100’

type(a) # 注意返回值是一个字符串
<type ‘str’>

b = bin(3) # 得到十进制数3的二进制表示法
b
‘0b11’

如果得到的是字符串,表示一个二进制数,如何将其转换成整数对象呢?可以使用函数 eval()。eval() 输入是字符串,返回值是一个整数对象。

a = eval(‘0b1100100’) # 输入是字符串
type(a) # 返回值类型是整型
<type ‘int’>

a # 返回值的内容
100

还有一个可以使用的函数就是 int(),其实际上是整型的构造函数。该构造函数可以从字符串对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值