2017-07-01 54 views
1

有一種解決方案可用於按位操作。但是,它轉換二進制數的整數,然後做按位操作。我已經有了二進制格式的數字。我如何執行這些數字的按位操作?例如, x = 10101,y = 11001 我希望z = x或y爲11101. 任何幫助都非常感謝。python中的按位操作

回答

1

您可以將其轉換爲字符串,然後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