Em ciência da computação, boolean, ou lógico, é um tipo de dado primitivo que possui dois valores, que podem ser considerados como 0 ou 1, falso ou verdadeiro. Chamado boolean em homenagem a George Boole, que definiu um sistema de lógica algébrica pela primeira vez na metade do século XIX. Ele é usado em operações lógicas como conjunção, disjunção, disjunção exclusiva, equivalência lógica e negação, que correspondem a algumas das operações da álgebra booliana.
A implementação do boolean varia de acordo com a linguagem de computador. Ada define uma enumeração com os valores False
e True
, definindo operadores booleans exclusivamente ao tipo e operadores relacionais, que estão disponíveis a todas as enumerações.
Já C em sua versão C99 fornece o tipo de dado nativo Boolean
, o que não significa que são armazenados valores booleans. O conteúdo é armazenado em outro tipo primitivo, como um inteiro ou enumeração, e define-se que 0 corresponde a falso, enquanto qualquer valor diferente de zero corresponde a verdadeiro. Durante a padronização de C++, foi definido o tipo de dado primitivo bool
, além das palavras-chave true
e false
. Entretanto, a largura de bits para armazenar o conteúdo não foi definida. Em contrapartida, C# também introduziu a mesma palavra-chave, e foi definido que o tipo ocupa um byte. A linguagem também define bool?
, que além de representar verdadeiro e falso, pode representar nulo. Já Visual Basic definiu o tipo de dado Boolean
armazenado em um inteiro de 16 bits com sinal. Dart, por exemplo apresenta o type bool
, retornando true
e false.
Tanto C quanto C++ permitem a conversão implícita do tipo inteiro para o tipo boolean, o que não acontece em Java.
Lisp possui dois símbolos especiais T
e NIL
(ou ()
, uma lista vazia) que representam os valores lógicos verdadeiro e falso, respectivamente. Entretanto, qualquer valor diferente de NIL
é interpretado pelo sistema Lisp como verdadeiro (assim como qualquer valor diferente de 0 em C e C++ é considerado verdadeiro). Da mesma forma, uma lista vazia é entendida como "falso", enquanto qualquer outra lista com elementos é entendida como "verdadeiro".
Ver também
Ligações externas