1
有一种解决方案可用于按位操作。但是,它转换二进制数的整数,然后做按位操作。我已经有了二进制格式的数字。我如何执行这些数字的按位操作?例如, x = 10101,y = 11001 我希望z = x或y为11101. 任何帮助都非常感谢。python中的按位操作
有一种解决方案可用于按位操作。但是,它转换二进制数的整数,然后做按位操作。我已经有了二进制格式的数字。我如何执行这些数字的按位操作?例如, x = 10101,y = 11001 我希望z = x或y为11101. 任何帮助都非常感谢。python中的按位操作
您可以将其转换为字符串,然后int(.., 2)
(2 => 2为基数)的小数转换为二进制:
>>> str(x)
'10101'
>>> int(str(x), 2)
21
你想操作(|
=>按位或):
>>> int(str(x), 2) | int(str(y), 2)
29
然后,使用format
(或str.format
与格式字符串b
->表示二进制表示形式)和将其转换回十进制3210:
>>> format(int(str(x), 2) | int(str(y), 2), 'b')
'11101'
>>> int(format(int(str(x), 2) | int(str(y), 2), 'b')) # back to integer
11101