python 二进制字符串的按位运算

如果我有两个二进制表示的字符串。如何对它们进行按位运算?


例子


a = '101'

b = '010'

c = a | b

c => '111'


慕雪6442864
浏览 122回答 2
2回答

慕的地6264312

首先,使用int将二进制字符串转换为数字。您可以使用第二个参数int来指定基数,在本例中为 2。然后,您可以使用|“或”数字和bin/或格式字符串(这里有许多不同的可能性)来转换回二进制。>>> a = '101'>>> b = '010'>>> c = int(a, 2) | int(b, 2)>>> bin(c)'0b111'>>> f"{c:b}"'111'>>> format(c, "b")'111'如有必要,后两者还可用于添加任意数量的前导零,例如在格式字符串中使用08b代替b。

凤凰求蛊

一种适用于字符串(不是通过整数)并保持前导零完整的解决方案:>>> a = '0101'>>> b = '0011'>>> ''.join(map(max, a, b))'0111'需要字符串具有相同的长度,但考虑到您的示例,其中一个字符串有一个前导零,因此它与另一个字符串一样长,我想这就是您的情况。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python