2017-07-01 11 views
1

ビット単位の操作を行うためのソリューションがあります。しかし、それは2進数で整数を変換し、ビット単位の演算を行います。私は既にバイナリ形式の数字を持っています。これらの数値に対してビット単位の演算を実行するにはどうすればよいですか? Ex。 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(またはb - > 2進表現を意味するstr.formatの形式の文字列)およびを使用して10進数に変換し直します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