Boolean
 
Standard data type

Syntax

Dim variable As Boolean

Description

Boolean data type. Can hold the values True or False
Default value on initialization is False

Notes on definition of boolean data type: Ideally, the definition of the boolean data type is that it holds the value of True or False, and that's it. However, to make this concept a reality, we need a definition that uses real world connections.
A more realistic definition is that the boolean data type is a 1-bit integer, having the value 0 to indicate False and 1 to indicate True.
For a practical definition, we must consider, yet again, additional factors. The most significant factor is that the hardware (processor) on which code is executed does not directly support a 1-bit data type; the smallest register or memory size we can work with is 8-bits or 1-byte.
Therefore, a practical definition of boolean data type is an integer, 8 bits wide, having the value 0 or 1, where all other values are undefined. However, because of longstanding differences between C/C++ and FB with respect to logical operations, the interpretation of the value must also be considered.
Assume "false" is 0 in both C/C++ and FB. C/C++ has logical 'not' operator '!' such that '!0' produces '1'.
FB has a bitwise Not operator such that 'not 0' produces '-1'. Therefore the definition for a C/C++ boolean is an unsigned 1-bit integer, zero extended to fill larger integer types, and the definition for a FB boolean is a signed 1-bit integer, sign extended to fill larger integer types.
However, the purpose and intent of the boolean data type remains, that it should only ever hold a True value or False value, regardless of the underlying details.


Example

Dim boolvar As Boolean
boolvar = True
Print "boolvar = ", boolvar


Output:
boolvar =     true

Dialect Differences

  • Not available in the -lang qb dialect unless referenced with the alias __Boolean.

Differences from QB

  • New to FreeBASIC

See also