Booleovské typy

Z Delphi & Pascal (česká wiki)
(přesměrováno z LongBool)
Skočit na navigaci Skočit na vyhledávání

Booleovské typy mohou nabývat tyto 2 hodnoty:

True  - pravda nebo 1
False - nepravda nebo 0


Tady jsou popsány tři předdefinované typy: Boolean, WordBool a LongBool.

Syntaxe
type   Boolean  = (False, True);
       WordBool = (False, True);
       LongBool = (False, True);
Popis
Tyto typy mají následující velikost:
  • typ Boolean má velikost jako Byte (8 bitů)
  • typ WordBool má velikost jako Word (16 bitů)
  • typ LongBool má velikost jako Longint (32 bitů)


Protože typy Boolean jsou výčtové ordinální typy, platí tyto vztahy:
False < True
Ord(False) = 0
Ord(True) = 1
Succ(False) = True
Pred(True) = False


Typ Boolean je preferovaný typ a zabírá nejméně paměti. Typy WordBool a LongBool existují hlavně z důvodu kompatibility s prostředím Windows.


Ve výrazech tyto relační operátory produkují výsledky typu Boolean.

=   <>   >   <   >=   <=   IN


Z důvodů kompatibility s Windows, typy Boolean mohou pracovat i s jinými ordinálními hodnotami než 0 a 1.

Hodnota výraz typu Boolean je False, když jeho ordinální hodnota je 0, a True, když je jeho ordinální hodnota je nenulová.

Booleovské operátory not, and, or a xor pracují testem na 0 (False) nebo nenulovou hodnotu (True), ale vždy vrací výsledek s ordinální hodnotou 0 nebo 1.