Booleano (informatica): differenze tra le versioni
Riga 17: | Riga 17: | ||
=== 2 operandi === |
=== 2 operandi === |
||
Esistono varie operazioni, le principali sono: [[EQV]], [[AND]], [[OR]], [[XOR]]. Tutte queste funzioni hanno 2 operandi (booleani) in ingresso e producono un output booleano. |
Esistono varie operazioni, le principali sono: [[EQV]], [[Algebra_di_Boole#AND|AND]], [[Algebra_di_Boole#OR|OR]], [[Algebra_di_Boole#XOR|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: |
Nella maggior parte dei linguaggi vengono indicati anche con i simboli: |
Versione delle 17:50, 15 apr 2012
Una variabile booleana, nell'ambito dei linguaggi di programmazione, è un tipo di variabile che può assumere solamente due valori, tipicamente Vero|Falso, True|False o 0|1.
Definizioni
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)
Operazioni
1 operando
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 operandi
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 linguaggi
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.