Tipul de date boolean sau tipul boolean sau tipul boolean (din engleză. Tipul de date boolean sau logic ) este un tip de date primitiv în informatică care ia două valori posibile, numite uneori adevărat ( adevărat) și fals ( fals) . Este prezent în marea majoritate a limbajelor de programare ca entitate independentă sau este implementat printr-un tip de date numerice. Unele limbaje de programare folosesc 1 pentru adevărat și 0 pentru fals .
Numele de tip Boolean a fost dat în onoarea matematicianului și logicianului englez George Boole , care, printre altele, s-a ocupat de logica matematică la mijlocul secolului al XIX-lea .
Un tip de date boolean poate fi implementat și stocat în memorie folosind doar un bit , dar locația minimă de memorie adresabilă (de obicei un octet sau un cuvânt de mașină ) este de obicei folosită ca o unitate de stocare mai eficientă din punct de vedere al performanței atunci când se ocupă cu registrele procesorului și RAM .
Următoarele operațiuni sunt aplicabile acestui tip de date, denumirile simbolice ale operațiilor în unele limbaje de programare populare sunt indicate între paranteze:
Alte operații de algebră booleană pot fi, de asemenea, utilizate , cum ar fi săgeata lui Pierce sau cursa lui Schaeffer . Majoritatea limbajelor de programare vă permit să utilizați variabile și constante de tip boolean în operații aritmetice, mai întâi turnându-l într-un tip numeric, conform regulilor de conversie a tipului adoptate în limbaj.
Utilizarea tradițională a tipului de date boolean este valorile da/nu pentru rezultatul unei comparații de numere în operațiuni mai complexe.
Toate operațiile de comparare a două mărimi - variabile reale și întregi sau o constantă cu o variabilă (egale, mai mare, mai mică), funcțiile de verificare a apartenenței unei apariții a unui element într-o mulțime și de verificare a nevidității intersecției ca rezultat, seturile returnează un tip boolean.
Limbajul de programare Ada definește Booleanîn pachetul Standard ca un tip enumerat cu valori Falseși Trueîn care False< True.
tipul boolean este ( False , True ); p : Boolean := Adevărat ; dacă p atunci ... sfârşitul dacă ;Operatorii înrudiți ( =, /=, <, <=, >, >=) se aplică tuturor tipurilor enumerate, inclusiv Boolean. Operatorii booleeni and, orși xorse notaplică tipului Booleanși oricăror subtipuri declarate. Operatorii booleeni se aplică și matricelor care conțin Boolean.
Algol 60 are tipul de date booleanși operatorii corespunzători prevăzuți în specificația Algol 60. Tipul de date a fost scurtat la boolALGOL 68 .
În limbajul de programare C , care nu a furnizat valori booleene în C89 (dar introduce în C99 ), în loc de valori adevărate/false, a fost introdusă compararea valorii cu zero. De exemplu, codul:
if ( bool_variable ) printf ( "Adevărat! \n " ); else printf ( "Fals! \n " );este echivalent cu codul:
if ( bool_variable != 0 ) printf ( "Adevărat! \n " ); else printf ( "Fals! \n " );Acest lucru a fost valabil pentru tipul de date întreg (întreg); cu toate acestea, valorile binare ale numerelor în virgulă mobilă (virgulă mobilă) erau apropiate de valorile zecimale afișate pe ecran, ceea ce a dat erori la comparare. În mod tradițional, un număr întreg conținea una (sau mai multe) variabile booleene (una pentru fiecare bit al numărului întreg).
În Haskell , tipul de date boolean este implementat ca cel mai simplu tip de date algebrice :
date bool = false | AdevăratÎn modulul standard , Data.Boolfuncțiile și sunt definite pentru acesta . &&||not
În Python , un tip de date boolean este notat ca bool, pentru a converti alte tipuri de date într-un tip boolean, există o funcție bool()care funcționează conform următoarelor convenții:
Pentru alte obiecte, rezultatul este calculat prin metoda __nonzero__, care ar trebui să returneze în mod ideal Truevalorile False.
Tipul boolean este distribuit la următoarele tipuri de date:
Tipul boolean nu este transmis către alte tipuri de date.
Python 2.6 are o caracteristică interesantă - puteți redefini valoarea Trueși Falseinvers scriind doar:
adevărat = falssau, o opțiune pentru întregul domeniu
__builtins__ . adevărat = falsceea ce poate duce la un comportament foarte neașteptat al interpretului sau IDLE. În Python 3, această caracteristică a fost eliminată - Trueși Falseeste considerată rezervată, ca și cuvântul None.
Descrierea variabilelor:
var a , b : booleanOperațiile aritmetice pe boolean nu sunt permise, dar sunt permise operații logice: Not, And, Or, Xor, operații relaționale = (egal cu), <> (nu este egal cu) și funcțiile Ord, Pred, Succ.
var A , B : Octet ; C , D , E , F : Boolean ; începe A := Ord ( False ) ; {A=0} B := Ord ( Adevărat ) ; {B=1} C := Pred ( Fals ) ; {eroare} D := Pred ( Adevărat ) ; {D=Fals} E := Succ ( Fals ) ; {E=Adevărat} F := Succ ( Adevărat ) ; {eroare} sfârșit .În Ruby , un tip boolean este reprezentat de două variabile predefinite : trueși false. Un tip boolean apare ca rezultat al operațiilor logice sau al invocării unor metode logice . Prin tradiție, numele metodelor logice (adică metodele care returnează o valoare adevărată sau falsă) se termină cu „?”.
Poate falsefi nil, iar calitatea poate fi true orice obiect , inclusiv o variabilă cu valoarea „0” sau un șir gol , ceea ce este adesea o surpriză pentru începători.
Tipuri de date | |
---|---|
Ininterpretabil | |
Numeric | |
Text | |
Referinţă | |
Compozit | |
abstract |
|
Alte | |
subiecte asemănătoare |