Int在base 2到​​二进制字符串python

时间:2015-11-18 09:03:00

标签: python casting binary int sage

所以我在python x = int(v,base=2)中有这个操作,它将v作为二进制字符串。对此有什么相反的操作? 例如,给定1101000110111111011001100001它将返回219936353,因此我想从219936353数字中获取此二进制字符串。 感谢

3 个答案:

答案 0 :(得分:1)

尝试bin()函数。

bin(yourNumber)[2:]

将为您提供包含您的号码位的字符串。

答案 1 :(得分:0)

num = 219936353
print("{:b}".format(num))

--output:--
1101000110111111011001100001

其他解决方案都错了:

num = 1
string = bin(1)
result = int(string, 10)
print(result)

--output:--
Traceback (most recent call last):
  File "1.py", line 4, in <module>
    result = int(string, 10)
ValueError: invalid literal for int() with base 10: '0b1'

你必须这样做:

num = 1
string = bin(1)
result = int(string[2:], 10)
print(result)  #=> 1

答案 2 :(得分:0)

>>> bin(219936353)
'0b1101000110111111011001100001'