我想要做的是对两个位串进行逻辑或的结果。例如:
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'
