Bit
 
Gets the state of an individual bit in an integer value.

Syntax

#define Bit( value, bit_number ) (((value) And (Cast(TypeOf(value), 1) Shl (bit_number))) <> 0)

Usage

result = Bit( value, bit_number )

Parameters

value
The integer value.
bit_number
The index of the bit.

Return Value

Returns an Integer value of -1 if the bit is set, or 0 if the bit is cleared.

Description

This macro expands to an integer value indicating whether or not the bit specified by bit_number is set in the integer value. Behaves as `(value And 1 Shl bit_number) <> 0`.

Example

Print Bit(4,2)
Print Bit(5,1)
Print Bit(&H8000000000000000ULL,63)

will produce the output:

-1
0
-1

Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Bit.

Differences from QB

  • New to FreeBASIC

See also