How do you use xor binary in python?

I'm trying to xor 2 binaries using python like this but my output is not in binary any help?

a = "11011111101100110110011001011101000"
b = "11001011101100111000011100001100001"
y = int(a) ^ int(b)
print y

karthikr

94k25 gold badges191 silver badges186 bronze badges

asked Oct 16, 2013 at 21:19

1

a="11011111101100110110011001011101000"
b="11001011101100111000011100001100001"
y=int(a,2) ^ int(b,2)
print('{0:b}'.format(y))

How do you use xor binary in python?

answered Oct 16, 2013 at 21:20

RobᵩRobᵩ

157k17 gold badges224 silver badges300 bronze badges

4

To get the Xor'd binary to the same length, as per the OP's request, do the following:

a = "11011111101100110110011001011101000"
b = "11001011101100111000011100001100001"
y = int(a, 2)^int(b,2)
print bin(y)[2:].zfill(len(a))

[output: 00010100000000001110000101010001001]

Convert the binary strings to an integer base 2, then XOR, then bin() and then skip the first two characters, 0b, hence the bin(y0)[2:].
After that, just zfill to the length - len(a), for this case.

Cheers

How do you use xor binary in python?

Matan Itzhak

2,2102 gold badges18 silver badges33 bronze badges

answered Mar 19, 2017 at 16:21

BigHBigH

3224 silver badges5 bronze badges

Since you are trying to carryout XOR on the same length binaries, the following should work just fine:

c=[str(int(a[i])^int(b[i])) for i in range(len(a))]
c=''.join(c)

You can avoid the formatting altogether.

answered Nov 27, 2020 at 17:26

How do you use xor binary in python?

Since you are starting with strings and want a string result, you may find this interesting but it only works if they are the same length.

y = ''.join('0' if i == j else '1' for i, j in zip(a,b))

If they might be different lengths you can do:

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

answered Oct 16, 2013 at 23:29

dansalmodansalmo

11.1k5 gold badges55 silver badges51 bronze badges

  • Docs »
  • ^ Bitwise Exclusive XOR
  • Edit on GitHub

Description¶

Returns the result of bitwise XOR of two integers.

Syntax¶

A ^ B

AInteger object.BInteger object.

Remarks¶

Bitwise XOR sets the bits in the result to 1 if either, but not both, of the corresponding bits in the two operands is 1.

Example 1¶

>>> bin(0b1111 ^ 0b1111)
'0b0'
>>> bin(0b1111 ^ 0b0000)
'0b1111'
>>> bin(0b0000 ^ 0b1111)
'0b1111'
>>> bin(0b1010 ^ 0b1111)
'0b101'

Example 2¶

>>> # this example swaps integers without a temporary variable using XOR
>>> a = 2
>>> b = 8
>>> a ^= b
>>> b ^= a
>>> a ^= b
>>> a
8
>>> b
2

How do you do binary operation in XOR?

To find the XOR of two numbers, follow these instructions:.
Convert the numbers into the binary representation..
Compare the corresponding bits of the two numbers..
If only one of the input bits is true (1), the output is true (1). Otherwise, the output is false (0)..

Is there a XOR in Python?

In Python, XOR is a bitwise operator that is also known as Exclusive OR. It is a logical operator which outputs 1 when either of the operands is 1 (one is 1 and the other one is 0), but both are not 1, and both are not 0.

How do you XOR a list in Python?

Method #1 : Using reduce() + lambda + “^” operator The above functions can be combined to perform this task. We can employ reduce() to accumulate the result of XOR logic specified by the lambda function.