Revision [23970]
This is an old revision of KeyPgBitset made by fxm on 2020-06-14 15:25:02.
BITSET
Gets the value with a specified bit set, from a copied integer.
Syntax:
Usage:
result = Bitset( value, bit_number )
Parameters:
value
The integer value.
bit_number
The index of the bit to set.
Return Value:
Returns the integer value with the specified bit set.
Description:
This macro expands to a copy of the integer value with the specified bit_number set (to on, or `1`). Behaves as `value Or (1 Shl bit_number)`.
To set a specified bit in a variable, the following assignment can be used: variable = Bitset( variable, bit_number )
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.
To set a specified bit in a variable, the following assignment can be used: variable = Bitset( variable, bit_number )
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:
Print BitSet(4, 0)
Print Hex(BitSet(1ull, 63))
Print Hex(BitSet(1ull, 63))
will produce the output:
5 8000000000000001
Dialect Differences:
- Not available in the -lang qb dialect unless referenced with the alias __Bitset.
Differences from QB:
- New to FreeBASIC.
See also:
Back to Bit Manipulation