このようにpython=を使用して2つのバイナリをxorしようとしていますが、私の出力はバイナリではありませんか?
a = "11011111101100110110011001011101000"
b = "11001011101100111000011100001100001"
y = int(a) ^ int(b)
print y
a = "11011111101100110110011001011101000"
b = "11001011101100111000011100001100001"
y = int(a,2) ^ int(b,2)
print '{0:b}'.format(y)
OPの要求に従って、Xor'dバイナリを同じ長さにするには、次のようにします。
_a = "11011111101100110110011001011101000"
b = "11001011101100111000011100001100001"
y = int(a, 2)^int(b,2)
print bin(y)[2:].zfill(len(a))
[output: 00010100000000001110000101010001001]
_
バイナリ文字列を整数ベース2、次にXOR
、次にbin()
に変換し、最初の2文字、_0b
_をスキップします。したがって、bin(y0)[2:]
になります。
その後、この場合はzfill
までの長さ-len(a)
にします。
乾杯