BITTEST( ) Function

Determines whether a specific bit in a Numeric, Varbinary, or Blob value is set to 1. There is a numeric and a binary version of the syntax.

Note

If the specified expression is not an integer, it is converted to an integer before performing the operation.

BITTEST(nNumericExpression1, nNumericExpression2)

BITTEST(BinaryExpression, nBitNumber)

Parameters

  • nNumericExpression1
    Specifies the Numeric value to check for the specified bit.

  • nNumericExpression2
    Specifies the bit position in nExpression1 to check. nExpression2 can range from 0 to 31 with 0 as the bit farthest to the right.

  • BinaryExpression
    Specifies a Varbinary or Blob expression to check for the specified bit.

  • nBitNumber
    Specifies a zero-based bit in qExpression.

    If nBitNumber is out of range of qExpression, Visual FoxPro generates an error.

Return Value

Logical. BITTEST( ) returns True (.T.) if the specified bit is set to 1; otherwise, it returns False (.F.).

Example

The following example uses BITTEST( ) to determine whether a series of integers are even. If an integer is even, the function IsEven returns True (.T.); otherwise, it returns False (.F.).

CLEAR
? '2 even? '
?? IsEven(2)  && Even, .T. returned
? '3 even? '
?? IsEven(3)  && Not even, .F. returned
? '0 even? '
?? IsEven(0)  && Even, .T. returned
? '-13 even? '
?? IsEven(-13)  && Not even, .F. returned

Function IsEven
   PARAMETER nInteger
   RETURN NOT BITTEST(nInteger, 0)

See Also

Reference

BITAND( ) Function

BITCLEAR( ) Function

BITLSHIFT( ) Function

BITNOT( ) Function

BITOR( ) Function

BITRSHIFT( ) Function

BITSET( ) Function

BITXOR( ) Function

Other Resources

Functions

Language Reference (Visual FoxPro)