+ 2
XOR in python
Its not how the XOR operator is done? https://code.sololearn.com/cPOQua785Saq/?ref=app
4 Answers
+ 2
You have to put paranthese around the expressions, like this:
(x==y) ^ (y==y)
Then you will have 0 or 1 (false or true), boolean/binary values.
Otherwise cases â© Prometheus âȘ mentioned will happen.
All values are stored in binary, the computer only knows binary.
We just have a representation in decimal, because we have 10 fingers and are used to it.
Like in decimal we can write it like this: 543 = 5*100 + 4 *10 + 3*1
we can also represent a number in binary:
6 = 0*8 + 1*4 + 1*2 + 0*1
so 6 is 0110 in binary
+ 1
Just to let you know,
if a = 1 and b = 2,
a: 0 0 1
b: 0 1 0, then c = a^b will be:
c: (0^0) (0^1) (1^0), which is basically,
c: 0 1 1, or 3.
+ 1
â© Prometheus âȘ How fo u know how is the number in binnary?
+ 1
What are you trying to do?
if x == x ^ y == y:
print("Both true")
x == x and y == y will be true (or 1) for any numbers x and y, but 1 ^ 1 will be 0, so it doesn't tell you that both expressions are true... Using a xor b to find out if a and b are both true or false isn't possible. a xor b is false if a and b are equal. But you still don't know if they're both true or both false. You could do something like if a and not (a^b) to find out if both a and b are true.