qbasic.hlp (Topic list)
Boolean Operators
  Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
Boolean operators perform bit manipulations, Boolean operations, or tests on
multiple relations. They return a true (nonzero) or false (zero) value to be
used in making a decision.
 
result = expression1 boolean-operator expression2
 
    ■ boolean-operator    Any of the following Boolean operators:
 
        NOT                 Bit-wise complement
        AND                 Conjunction
        OR                  Disjunction (inclusive "or")
        XOR                 Exclusive "or"
        EQV                 Equivalence
        IMP                 Implication
 
    ■ Each operator returns results as indicated in the following truth
      table. T is true (nonzero); F is false (zero):
 
        Expression1  Expression2  NOT  AND  OR   XOR  EQV  IMP
        ═══════════  ═══════════  ═══  ═══  ═══  ═══  ═══  ═══
        T            T            F    T    T    F    T    T
        T            F            F    F    T    T    F    F
        F            T            T    F    T    T    F    T
        F            F            T    F    F    F    T    T
 
    ■ Boolean operations are performed after arithmetic and relational
      operations in order of precedence.
    ■ Expressions are converted to integers or long integers before a
      Boolean operation is performed.
    ■ If the expressions evaluate to 0 or -1, a Boolean operation returns
      0 or -1 as the result. Because Boolean operators do bit-wise
      calculations, using values other than 0 for false and -1 for true may
      produce unexpected results.