Bit Manipulations |
|
|
|
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 |
|
||
Previous | Copyright © 2004-2012, FunctionX | Next |
|