Boolean Conditions?


Are the operators “|” and “&”, and this chapter’s content in general similar to boolean conditions?

Like if all conditions are true (AND), or just one of the conditions are true (OR).



Are the Bitwise-OR, Bitwise AND, Exclusive-OR, Complement and Left/Right-shift used to find similarities?
I am having a trouble understanding how I can find similarities to a phone number, etc, by “Bitwise-ORing” a text or sentence…


Recognising patterns in text can easily be done with deterministic state machines, given that phone numbers usually have well defined structures.

You can use the exclusive-or operator (xor) to test for equality of primitive types:

long A = 16, B = 16;
if (!(A^B))
     // A == B
     // A != B

But you might just as well use the regular == operator for this.

If you are looking for a given phone number in a piece of text, you can try finding its occurrence by xoring the corresponding bytes and shifting until you find or run out of text. (There are a few things you have to consider though. For example: 8788 5788 vs 87 88 57 88 )


Thanks for the reply, I understand it better now.