KodeWarrior - 4 months ago 25

C Question

I came across the following code snippet

`if( 0 != ( x ^ 0x1 ) )`

encode( x, m );

What does

`x ^ 0x1`

Answer

The XOR operation (`x ^ 0x1`

) inverts bit 0. So the expression effectively means: if bit 0 of x is 0, or any other bit of x is 1, then the expression is true.

Conversely the expression is false if x == 1.

So the test is the same as:

```
if (x != 1)
```

and is therefore (arguably) unnecessarily obfuscated.