BIT
- Source: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgBit
- Last revised: 2020-06-16
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.
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.
Examples
start GeSHi
Print Bit(&B1000, 3)
Print Bit(4,2)
Print Bit(5,1)
Print Bit(&H8000000000000000ULL,63)end GeSHi
will produce the output:
-1
-1
0
-1Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias
__Bit.
Differences from QB
- New to FreeBASIC
See also
BitsetBitreset
Back to DocToc