logikai

Technikai okokból _Bool átirányítja itt. Mintegy _Bool itt található: stdbool.h.

A logikai adattípus. vagy logikai vagy logikai típusú (az angol logikai vagy logikai típusú adatokat.) - a primitív adattípusok számítástechnika. hogy két lehetséges érték, néha igazi (valódi) és hamis (false). Jelen van a legtöbb programozási nyelvek, mint egy független szervezet vagy valósul meg számszerű adatok típusát. Egyes értékének a programozási nyelvek támaszkodnak az igazság 1, az érték rejlik - 0.

A név a logikai típusú nevezték a brit matematikus és logikus George Boole. többek között kérdésekkel foglalkozik a matematikai logika, a 19. század közepén.

Elérhető műveletek adattípushoz

Az ilyen típusú adatokat a következő műveleteket kell alkalmazni, az jelzi a zárójelben szimbolikus műveletek néhány népszerű programozási nyelvek:

  • ÉS (logikai szorzás) (ÉS. . *)
  • OR (logikai összeadás) (OR | .. +),
  • XOR (add carry) (XOR. NEQV. ^),
  • ekvivalencia (egyenlőség) (ekvivalens. =. ==)
  • inverzió (NOT.

Is fel lehet használni, és egyéb műveletek Boole algebra. így például, a tű bárban vagy Pierce Schaeffer. A legtöbb programozási nyelvek használatának engedélyezése a logikai változók és állandók számtani, előre hozza, hogy egy numerikus típusú, az elfogadott szabályok a nyelv típuskonverzió.

Hagyományos felhasználása logikai adattípus beállítása „igen” / „nem” eredményt tekintetében az összehasonlítás a számok bonyolultabb műveleteket.

Minden művelet két érték összehasonlítására - valós és egész változókat, konstansokat változó (egyenlő, nagyobb, kisebb), funkció vizsgálat kiegészítők előfordulása egy elemet a készlet, és ellenőrizze a kereszteződés nem üres halmazok boolean típusú.

Megvalósítás különböző programozási nyelvek

Ada programozási nyelv határozza meg a logikai standard csomag enum értékű hamis és igaz hamis, ahol

Kapcsolódó üzemeltetők (=. / =. <. <=.>.> =) Vonatkozik minden típusú számkiosztás, beleértve a Boole. Logikai operátorok és. vagy. xor, és nem alkalmazható bármilyen logikai és bejelentette altípusok. Logikai operátorok is alkalmazható tömbök értékeket tartalmazó logikai.

Algol 60 van egy logikai adattípus, és a megfelelő üzemeltetők létre Algol 60. Az adattípus leírás-ra csökkent bool a ALGOL 68.

Egy programozási nyelv C, amely sem logikai értékeket C89 (de bevezet C99) értékek helyett igaz / hamis értékek találtak összehasonlítva nulla. Például, a kód:

Ez volt tisztességes a egész adattípus (egész szám); Azonban a bináris értékek lebegőpontos számok (lebegőpontos) közelítő, hogy a képernyőn megjelenő decimális értékeket és ez adta a hibákat az összehasonlításhoz. Hagyományosan, az egész tartalmazhatnak egy (vagy több) egy logikai változó (egy minden egyes bit egész szám).

A Haskell nyelv logikai adattípus megvalósítása egy egyszerű algebrai adatok típusa:

A szabványos modul számára Data.Bool definiált függvények . || és nem.

Python, a logikai adattípus nevezik bool. hogy a másik, hogy egy logikai adattípus létezik bool () függvény. dolgozik a következő megállapodások:

  • sor: egy üres sort - egy hazugság, egy nem üres sor - az igazság;
  • száma: nulla szám - egy hazugság, egy nem nulla szám (beleértve a kevesebb, mint egy) - az igazság;
  • listák és sorok: üres lista (tuple) - jogok üres (még tartalmaz egy elemet, például egy üres tuple) - az igazság;
  • funkció - mindig igaz.

Más tárgyak az eredmény úgy számítjuk ki __nonzero__ módszerrel. amely ideális esetben vissza kell adnia egy értéket igaz vagy hamis.

Logikai közül a következő adattípusok:

  • szöveg: „True” az igazság „False” hazudni;
  • numerikus (a beépített típusok int, hosszú, úszó): 1 az igaz, 0, ha hamis.

Más típusú adatok logikai elhagyható.

A Python 2.6 egy érdekes funkció - felül tudja írni Igaz Hamis, és fordítva, csak írásban:

vagy opció a teljes körét

ami oda vezethet, hogy teljesen váratlan viselkedését a tolmács vagy tétlen. A python 3, ez a lehetőség már megszűnt - Igaz és hamis foglaltak, mint a szó Nincs.

Logikai számtani nem engedélyezett, de elviselhető logikai művelet: nem, és, vagy, XOR relációs operátorok = (egyenlő) <> (Nem egyenlő), és Ord függvény Pred, Succ.

A Ruby logikai képviselő két előre definiált változók. igaz és hamis. Úgy tűnik, ennek eredményeként egy logikai logikai műveletek, illetve hívás logikai technikákat. A hagyomány szerint a név a logikai módszerek (vagyis elemfüggvényei értéke igaz vagy hamis) végződik „?”.

Hamis lehet nulla. valamint igaz - bármilyen tárgy. beleértve a változó értéke „0” vagy egy üres karakterlánc. ami gyakran egy meglepetés az újoncok.

Kapcsolódó cikkek