Gets the state of an individual bit in an integer value.
Syntax
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`.
The valid range of values for
bit_number depends on the size, in bits, of `
TypeOf(value)`, which is `
0` (from the lowest bit) through `
SizeOf(value) * 8 - 1` (up to the highest bit). See
Standard Datatype Limits for a table of the standard datatypes and their sizes.
For the
bit_number values outside the valid range, the results of this macro are undefined.
Example
Print Bit(&B1000, 3)
Print Bit(4,2)
Print Bit(5,1)
Print Bit(&H8000000000000000ULL,63)
will produce the output:
-1
-1
0
-1
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias __Bit.
Differences from QB
See also