(redirected from Bitwise operators)


A bitwise operator treats its operands as a vector of bits rather than a single number. Boolean bitwise operators combine bit N of each operand using a Boolean function (NOT, AND, OR, XOR) to produce bit N of the result.

For example, a bitwise AND operator ("&" in C) would evaluate 13 & 9 as (binary) 1101 & 1001 = 1001 = 9, whereas, the logical AND, (C "&&") would evaluate 13 && 9 as TRUE && TRUE = TRUE = 1.

In some languages, e.g. Acorn's BASIC V, the same operators are used for both bitwise and logical operations. This usually works except when applying NOT to a value x which is neither 0 (false) nor -1 (true), in which case both x and (NOT x) will be non-zero and thus treated as TRUE.

Other operations at the bit level, which are not normally described as "bitwise" include shift and rotate.


Dealing with bits rather than larger structures such as a byte. For example, each of the eight bits in a byte can be used as an individual flag to signal yes/no, on/off (1 or 0) about some condition. The Boolean operators AND, OR and NOT also deal with individual bits rather than bytes.

Bitwise operators are programming commands that work with individual bits. The primary ones are:

Symbol   Function

    <<     Shift left 4 bits
    >>     Shift right 4 bits
    &      AND
    |      OR
    ^      XOR (Exclusive OR)
    ~      NOT (0 to 1; 1 to 0)
References in periodicals archive ?
The conditions were replaced by parallel comparisons and branching was replaced by bitwise operators.
30, provides front-to-back native integer operations including full integer-based texturing, integer input and outputs for vertex and fragment shaders and a full set of integer bitwise operators.