Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between XOR and NOT-EQUAL-TO?

My question uses Java as an example, but I guess it applies to probably all.

Is there any practical difference between the XOR operator (^ in Java) and the not-equal-to operator (!= in Java), when comparing booleans?

I evaluated things here, but I just kept wondering (seems weird, two things equal)... and didn't find anything on the net. Just one discussion in some forum that ended quickly without any result.

like image 557
davidcesarino Avatar asked Nov 14 '10 00:11

davidcesarino


People also ask

Is XOR and not the same?

For Boolean values, they mean the same thing - although there's a compound assignment operator for XOR: x ^= y; There's no equivalent compound assignment operator for inequality. As for why they're both available - it would be odd for XOR not to be available just because it works the same way as inequality.

What is the difference between the OR logical operator and the XOR logical operator?

Now the OR operator is saying, if the first argument or the second argument are true, then the result is true. Lastly, the XOR (exclusive OR) operator is saying, if either input is true, then the result is true, but if both inputs are true, then the result is false.

What is the XOR method?

The XOR logical operation, exclusive or, takes two boolean operands and returns true if, and only if, the operands are different. Conversely, it returns false if the two operands have the same value.

Is XOR a Boolean operator?

XOR is one of the sixteen possible binary operations on Boolean operands. That means that it takes 2 inputs (it's binary) and produces one output (it's an operation), and the inputs and outputs may only take the values of TRUE or FALSE (it's Boolean) – see Figure 1.


1 Answers

For Boolean values, they mean the same thing - although there's a compound assignment operator for XOR:

x ^= y; 

There's no equivalent compound assignment operator for inequality.

As for why they're both available - it would be odd for XOR not to be available just because it works the same way as inequality. It should logically be there, so it is. For non-Boolean types the result is different because it's a different result type, but that doesn't mean it would make sense to remove XOR for boolean.

like image 191
Jon Skeet Avatar answered Oct 17 '22 02:10

Jon Skeet