I l @ ve RuBoard |
All of the following bitwise operators, except ~ , are binary operators:
~ is the unary operator and produces a value with each bit of the operand inverted.
& is AND and produces a value in which each bit is set to 1 only if both corresponding bits in the two operands are 1.
is OR and produces a value in which each bit is set to 1 if either, or both, corresponding bits of the two operands are 1.
^ is EXCLUSIVE OR and produces a value in which each bit is set to 1 only if one or the other (but not both) of the corresponding bits of the two operands is 1.
<< is left-shift and produces a value obtained by shifting the bits of the left-hand operand to the left by the number of places given by the right-hand operand. Vacated slots are filled with zeros.
>> is right-shift and produces a value obtained by shifting the bits of the left-hand operand to the right by the number of places given by the right-hand operand. For unsigned integers, the vacated slots are filled with zeros. The behavior for signed values is implementation dependent.
Suppose you have the following:
int x = 2; int y = 3;
Then x & y has the value 2 because only bit 1 is ON for both x and y . Also, y<<x has the value 12 because that is the value obtained when the bit pattern for 3 is shifted two bits to the left.
I l @ ve RuBoard |