6.04 Binary & Logical Operations

Binary Operators

Binary operations are used to test and set individual bits and bit combinations. They are most often used when dealing with internal representation on computers.

Number Formats
&h or 0x
Prefix for hexadecimal constant (0x1F, &h3C)
&o or 0o
Prefix for octal constant (0o33, &o33)
&b or 0b
Prefix for binary constant (0b1010, &b1110)

The following operators are used. They are listed in priority order. Those that are in a group that is higher in the list take precedence over those in a group that is lower down the list.

Operator
Usage
Binary Operations
<<, >>
bitwise shift left and shift right.
0b0011 << 1 → 0b0110
0b1100 >> 3 → 0b0001
~
bitwise NOT (~A).
Result bit is 1 if operand A bit is 0 and vice versa, otherwise result bit is 0.
~0b1100 → 0b0011
BAND or &
bitwise AND (A AND B)
Result bit is 1 if both operand bits are 1, otherwise result bit is 0.
0b1100 & 0b1010 → 0b1000
BOR or |
bitwise OR (A OR B)
Result bit is 1 if either operand bit is 1, otherwise result bit is 0.
0b1100 | 0b1010 → 0b1110
XOR
bitwise XOR (A XOR B).
Result bit is 1 if either A is 1 or B is 1 but not both(i.e. not the same), otherwise result bit is 0.
0b1100 XOR 0b1010 → 0b0110
EQV
XNOR
bitwise EQV/XNOR (NOT (A XOR B)).
Result bit is 1 if both operand bits are the same, otherwise result bit is 0.
0b1100 EQV 0b1010 → 0b1001
IMP
bitwise IMP (NOT (A AND NOT B)).
Result bit is 0 if first operand bit is 1 and second operand bit is 0, otherwise result bit is 1.
0b1100 IMP 0b1010 → 0b1011
NAND
bitwise NAND (NOT (A AND B))
Result bit is 0 if both operand bits are 1, otherwise result bit is 0.
0b1100 NAND 0b1010 → 0b0111
NOR
bitwise NOR (NOT (A OR B))
Result bit is 1 if both operand bits are 0, otherwise result bit is 1.
0b1100 NOR 0b1010 → 0b0001

Logical Operators

Logical operations are used to test conditions to determine what action a program should take.

Operator
Usage
NOT or !
Logical NOT (NOT false = true)
=
Equal
<> or !=
Not Equal
<, >
Less Than, Greater Than
=<, =>, <=, >=
Less Than or Equal, Greater than or Equal
IN
belongs to … (see The operator IN)
LIKE
Regular expression match (see The operator LIKE)
AND or &&
Logical AND (A AND B)
OR or ||
Logical OR (A OR B)

lynplex/lp0604.txt · Last modified: 2012/09/08 15:09 (external edit)