このように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)
文字列から始めて文字列の結果が必要なので、これは面白いと思うかもしれませんが、同じ長さの場合にのみ機能します。
y = ''.join('0' if i == j else '1' for i, j in zip(a,b))
長さが異なる可能性がある場合は、次のことができます。
y = ''.join('0' if i == j else '1' for i, j in zip(a[::-1],b[::-1])[::-1])
y = a[len(y):] + b[len(y):] + y