BitSet

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)))

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.

Example
   Print Bin(BitSet(&b10001,2))
   Print BitSet(4, 0)
   Print Hex(BitSet(1ull, 63))

   will produce the output:

   10101
    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
   * Bit
   * BitReset

