Apri il menu principale

Variabile booleana

Una variabile booleana è una variabile che assume valori booleani, tipicamente Vero|Falso, True|False o 1|0. Una funzione di variabili booleane è chiamata funzione booleana; in un'accezione più generale, una variabile booleana può essere a sua volta funzione di variabili booleane. Il nome deriva da George Boole.

DefinizioniModifica

In alcuni linguaggi, come il C, non esistono variabili di questo tipo in quanto nelle espressioni logiche si assume che falso corrisponda a 0 e vero a qualsiasi valore diverso da 0. Formalmente si indica il valore vero con -1 essendo esso il complemento a uno di 0 (falso), quindi la negazione bit a bit di una variabile. In un elaboratore che segue lo schema dell'Architettura di von Neumann nessuna variabile può essere di un solo bit. Nel processore 8086 il falso e il vero vengono rispettivamente rappresentati:

  • 0000 0000 (0)
  • 1111 1111 (1)

OperazioniModifica

1 operandoModifica

L'unica operazione possibile con i valori booleani è la negazione (detto anche complemento) che molto spesso è indicata con NOT, ! o ~.

Si definisce:

  • not falso = vero
  • not vero = falso

2 operandiModifica

Esistono varie operazioni, le principali sono: EQV, AND, OR, XOR. Tutte queste funzioni hanno 2 operandi (booleani) in ingresso e producono un output booleano.

Nella maggior parte dei linguaggi vengono indicati anche con i simboli:

  • EQV - ==
  • AND - &&
  • OR - ||
  • XOR - ^

Nei linguaggiModifica

Nei linguaggi di programmazione più recenti (es: C++, Java) è possibile dichiarare variabili di tipo booleano, anche se, nessuna di esse occupa veramente un bit nella memoria (non è possibile allocare un singolo bit). Il compilatore si occupa di accorpare più variabili booleane per ottimizzare lo "spreco" di 7 bit. Ad esempio in C++:

bool A = true;
bool B = false;
bool C = A;

Quando questo codice verrà compilato, molto probabilmente, il compilatore allocherà una variabile di tipo intero e il primo bit lo utilizzerà per A, il secondo per B e il terzo per C, "perdendo" i restanti 4 bit.

Voci correlateModifica