为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕雪6442864 2023-12-12 21:23:47
如果我有两个二进制表示的字符串。如何对它们进行按位运算?例子a = '101'b = '010'c = a | bc => '111'
查看完整描述

2 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

首先,使用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。


查看完整回答
反对 回复 2023-12-12
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

一种适用于字符串(不是通过整数)并保持前导零完整的解决方案:


>>> a = '0101'

>>> b = '0011'

>>> ''.join(map(max, a, b))

'0111'

需要字符串具有相同的长度,但考虑到您的示例,其中一个字符串有一个前导零,因此它与另一个字符串一样长,我想这就是您的情况。


查看完整回答
反对 回复 2023-12-12
  • 2 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信