From QB64 Wiki
Revision as of 20:15, 13 October 2009 by (talk)
Jump to navigation Jump to search

The _BIT datatype can return only values of 0 (bit off) and -1 (bit on).

Syntax: AS [ _UNSIGNED ] _BIT [*numberofbits]

Syntax, for example in regard to _DEFINE: _DEFINE LetterRange AS [ _UNSIGNED ] _BIT [*numberofbits]
Syntax, for example in regard to DIM: DIM Variable AS [ _UNSIGNED ] _BIT [*numberofbits]

More information:

  • An _UNSIGNED _BIT can hold 0 or 1 instead of 0 and -1, if you set the numberofbits you can hold larger values depending on the number of bits you have set (_BIT * 8 can hold the same values as _BYTE for example) and the information below is comprimised if setting any number of bits other than 1.

  • If you set the variable to any other number then the least significant bit of that number will be set as the variables number, if the bit is 1 (on) then the variable will be -1 and if the bit is 0 (off) then the variable will be 0.

  • The least significant bit is the last bit on a string of bits (11111) since that bit will only add 1 to the value if set. The most significant bit is the first bit on a string of bits and changes the value more dramatically (significantly) if set on or off.

  • The _BIT datatype can be succesfully used as a Boolean (TRUE or FALSE) and it requires minimal amount of memory (the lowest amount possible actually, one byte can hold 8 bits).


You can define a bit on-the-fly by adding a ` after the variable, like this; variable` = -1

If you want a unsigned bit you can define it on-the-fly by adding ~` instead, like this; variable~` = 1

You can set the number of bits on the fly by just adding that number - this defines it as being two bits; variable`2 = -1

See also: _BYTE, _DEFINE, _UNSIGNED, DIM, Binary, Boolean


Go to Keyword Reference - Alphabetical

Go to Keyword Reference - By usage