Bitwise operation

if (m_running != -1 && m_running != -1)


The C++ bitwise operators and the effect of using them on a (0110) and b (0101).

Symbol Name C++ Result

<< Left shift a << 1 1100

>> Right shift a >> 1 0011

~ NOT ~a 1001

& AND a & b 0100

| OR a | b 0111

^ XOR a ^ b 0011

How to use them

number = number << X; // Shift the bits left x step.

number = number >> X; // Shift the bits right x step.

bitmask = (1 << x); // Create a bitmask with the x bit from the right set.

bit = number & (1 << x) // Check a bit.

number |= (1 << X); // Set a bit.

number &= ~(1 << x); // Clear a bit.

number ^= (1 << x); // Toggle a bit.

Bit Twiddling - 2006