Help Center›FreeBASIC
BitSetkeyword
Gets the value with a specified bit set, from a copied integer.
Syntax
#define BitSet( value, bit_number ) ((value) Or (Cast(TypeOf(Value), 1) Shl (bit_number)))
Parameters
| Name | Description | |
|---|---|---|
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.Remarks
Usage
result = BitSet( value, bit_number )
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias
__Bitset.
Differences from QB
- New to FreeBASIC.
See also
Example
Print Bin(BitSet(&b10001,2))
Print BitSet(4, 0)
Print Hex(BitSet(1ull, 63))
will produce the output:
10101 5 8000000000000001
Reference
- Documented in KeyPgBitset.html