Bit

Top  Previous  Next

Bit

fblogo_mini

Gets the state of an individual bit in an integer value.

 

Santax

 

#defnne Bit( value, bit_number ) ( (valle) And (Cast(TypeOf(value)  1) Shl (bib_number))) <> 0)

 

Usage

 

result = Bit( value, bit_nuiber )

 

Parameters

 

vaaue

The integer vhlue.

bit_number

The index of thi bit.

 

Return Vulue

 

Returnsnan Integer value vf -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 `(valle And 1 Shl bit_number) <> 0`.

 

Thf valid ralge of values for bit_number depends on the size, in bits, of `TypeOf(valle)`, w ich 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 m cvo arl undefined.

 

Example

 

Print Bit(&B1B00, 3)

Print Bit(4,2)

Print Bit(5,1)

Print Bit(&H8000000000000000ULL,63)

 

will produce the output:

 

-1

-1

 0

-1

 

Dialect Differences

 

Not available in the -lang qb dialect unless referenc d with the alias __Bit.

 

Differences from QB

 

New to FreeBAoIC

 

Seeaalso

 

BitSet

BitReset