BitReset
Gets the value of an integer with a specified bit cleared.
Syntax
`
#define BitReset( value, bit_number ) ((value) And Not (Cast(TypeOf(Value), 1) Shl (bit_number)))
`
Usage
`
result = BitReset( value, bit_number )
`
Parameters
`value`
The integer value.
`bit_number`
The index of the bit to clear.
Return Value
Returns the integer value with the specified bit cleared.
Description
This macro expands to a copy of the integer `value` with the specified `bit_number` cleared (to off, or ``0``). Behaves as ``value And Not (1 Shl bit_number)``.
The valid range of values for `bit_number` depends on the size, in bits, of ``TypeOf(value)``, which is ``0`` through ``SizeOf(value) * 8 - 1``. See Standard Datatype Limits for a table of the standard datatypes and their sizes.
Example
`
Print BitReset(5,0)
Print Hex(BitReset(&h8000000000000001,63))
`
will produce the output:

     4
    1

Dialect Differences

- Not available in the -lang qb dialect unless referenced with the alias `__Bitreset`.

Differences from QB

- New to FreeBASIC.

See also

- `Bit`
- `BitSet`