当我在Python 3中处理二进制数时,会出现意外的输出。
我们可以通过内置的bin()函数轻松地将任何整数转换为二进制。例如:
>>>bin(4243125)
这是我尝试添加2个二进制函数时的问题:
>>>bin(x)+bin(y)
输出是两个二进制数的串联,而不是二进制数的加法。二进制函数的输出已成为一个字符串。
在二进制函数中添加正常工作:
>>>bin(x+y)
尝试添加两个没有bin()的二进制数也是可行的:
>>>0b100+0b10111
将bin()输出设置为字符串的原因/目的是什么?
答案 0 :(得分:4)
bin
与hex
一样,将小数转换为表示该基数中的数字的字符串文字。
如果您想要将2个数字加在一起,只需这样做:
x = 10
y = 2
x + y
如果你想把二进制字符串作为输入并将它们加在一起,用int
base 2将它们从字符串文字转换回来,就像这样:
x = bin(10)
y = bin(2)
int(x, 2) + int(y, 2)
如果您正在寻找按位运算,请查看Python按位运算符: