Skip to main content
 首页 » 编程设计

python之Python 中位串的逻辑或

2025年05月04日20shanyou

我想要做的是对两个位串进行逻辑或的结果。例如:

    a='010010' 
    b='000101' 
    c=LOGIC_OR(a,b) 
    c 
    010111 

我经常遇到的错误是,当我将“b”从字符串转换为二进制时,它删除了前导零。我使用的其他方法将“a”和“b”转换为整数。通常没有任何效果,我们将不胜感激。 提前致谢

请您参考如下方法:

您可以使用 int 将它们转换为整数,指定基数为 2。然后,执行按位或运算,并将结果转换为bin的位串。

>>> c = int(a, 2) | int(b, 2)) 
>>> c 
23 

如果要将结果打印为位串,请使用str.format。如果您使用的是 python-3.6,您还可以使用 f-strings。

>>> '{:b}'.format(c) 
'10111' 

>>> print(f"{c:b}") 
10111 

要捕获关于 a/b 的前导零,请使用 str.zfill -

>>> f"{c:b}".zfill(len(a)) 
'010111'