Bandeira booleana - Boolean flag

Um sinalizador booleano , bit de verdade ou sinalizador de verdade em ciência da computação é um valor booleano representado como um ou mais bits, que codifica uma variável de estado com dois valores possíveis.

Uso de memória

Um único byte pode conter até 8 sinalizadores booleanos separados mapeando um sinalizador booleano para cada bit, tornando-o um método muito econômico e denso de armazenamento de dados. Isso é conhecido como representação compactada ou compactação de bits, e a codificação oposta com apenas um sinalizador booleano por byte usado é conhecida como representação esparsa. Para memória byte endereçável a representação embalado requer uma máscara de bits e bit-shift para acesso bandeiras individuais em cada byte, o que pode exigir instruções adicionais, enquanto que a representação esparsa não requer mascaramento bit. Representações compactadas são mais comumente encontradas em registros de hardware e processador como campos de bits, enquanto representações esparsas são mais comumente encontradas em software como variáveis de um ou mais bytes de largura, embora representações compactadas também possam ser suportadas.

Eficiência

A maioria das linguagens de computador suporta a configuração e teste de bits únicos ou múltiplos em combinação para uso como indicadores de verdade e, geralmente, até 256 combinações diferentes de condições podem ser testadas com apenas uma única instrução em um byte usando operações bit a bit . Avanços no projeto do processador e computação paralela significam que ainda mais operações de álgebra booleana em sinalizadores booleanos podem ser feitas com apenas uma única instrução usando a tecnologia SIMD , frequentemente implementada em linguagens de programação como funções intrínsecas do compilador .

Uso

Às vezes, os programas são escritos para simplesmente definir sinalizadores quando certas condições são detectadas, em vez de ter várias instruções condicionais aninhadas (por exemplo, if s) que podem se tornar bastante complexas. Quando todas as condições são testadas e todos os sinalizadores ativados ou desativados apropriadamente, o teste pode começar em várias combinações de condições - por referência aos sinalizadores em vez das próprias variáveis. Isso pode simplificar consideravelmente o processamento e permite que as tabelas de decisão sejam implementadas mapeando para suas representações binárias na memória.

Veja também

Referências