|
|
Bits Comparison: The Bitwise AND Operator &
|
The bitwise & is a binary operator that uses the
following syntax
Operand1 & Operand2
This operator considers two values and compares the
bit of each with the corresponding bit of the other value. If both
corresponding bits are 1, the comparison produces 1. Otherwise, that is,
if either bit is 0, the comparison produces 0. This comparison is resumed
as follows:
|
|
Imagine you have two byte values represented as 187
and 242. Based on our study of numeric
systems, the binary value of decimal 187 is 1011 1011
(and its hexadecimal value is 0xBB). The binary value of decimal 242 is
1111 0010 (and its hexadecimal value is 0xF2). Let’s compare these two
values bit by bit, using the bitwise AND operator:
|
|
Most of the times, you will want the interpreter to
perform this operation and use the result in your program. This means that
you can get the result of this operation and possibly display it to the
user. The above operation can be performed by the following program:
|
SELECT 187 & 242
This would produce 178
Bits Comparison: The Bitwise OR Operator |
|
You can perform another type of comparison on bits
using the bitwise OR operator that is represented by |. Its syntax is:
Value1 | Value2
Once again, the interpreter compares the corresponding
bits of each operand. If at least one of the equivalent bits is 1, the
comparison produces 1. The comparison produces 0 only if both bits are 0.
This operation is resumed as follows:
|
|
Once again, let’s consider decimals 187 and 242.
Their bitwise OR comparison would render the following result:
|
|
You can also let the compiler perform the operation
and produce a result. Here is an example:
|
SELECT 187 | 242
This would produce 251
Bits Comparison: The Bitwise-Exclusive XOR Operator ^
|
Like the previous two operators, the bitwise-exclusive
OR operator performs a bit comparison of two values. It syntax is:
Value1 ^ Value2
The compiler compares the bit of one value to the
corresponding bit of the other value. If one of the bits is 0 and the
other is 1, the comparison produces 1. In the other two cases, that is, if
both bits have the same value, the comparison produces 0. This operation
is resumed as follows:
|
|
We will again consider decimals 187 and 242. Their
bitwise-exclusive XOR comparison would render the following result:
|
|
If the interpreter performs this operation, it can
produce a result as in the following example:
|
SELECT 187 ^ 242; |
This would produce 73
No comments:
Post a Comment