You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何让bin()函数返回的二进制值为整数类型?

问题解决方法

首先明确Python内置函数bin()的设计逻辑:该函数的作用是将输入整数转换为带0b前缀的人类可读二进制字符串表示,原生设计就是返回字符串类型,无法直接通过bin()得到整数结果。你可以根据自身实际需求选择对应实现方案:


方案1:需要的是二进制对应原始数值

整数在Python底层本身就是以二进制形式存储的,bin(15)返回的'0b1111'只是可视化的字符串形式,你定义的b = 15本身就是整数类型的对应值,不需要做额外转换。


方案2:需要把二进制位序列直接拼成十进制整数

如果要把15对应的二进制位1111直接转为十进制整数1111,可以用如下代码实现:

b = 15
# bin(b)[2:] 作用是去掉bin返回字符串的0b前缀,再转成十进制整数
a = int(bin(b)[2:])
print(a, type(a))
# 输出结果:1111 <class 'int'>

方案3:需要把二进制字符串转回对应原始整数

如果是要把bin()返回的二进制字符串反向转回对应的整数,直接给int()传入base=2参数即可:

b = 15
bin_str = bin(b)
a = int(bin_str, base=2)
print(a, type(a))
# 输出结果:15 <class 'int'>

内容的提问来源于stack exchange,提问作者Phyo Pyae Sone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:57:02