Em informática, uma flag (termo da língua inglesa que significa, literalmente, "bandeira") é um mecanismo lógico que funciona como semáforo: uma entidade (objecto) detém como ativa uma determinada flag se a característica associada a essa flag estiver presente. Em programação, a utilização de flags como interruptor (isto é, valores 1/0, ligado/desligado, ativo/inativo) permite optimizar as estruturas de dados, na medida em que basta apenas um bit para ativar determinada característica. Assim, com um simples byte podem-se especificar 8 características de um objecto, conhecendo, de antemão, o significado de cada bit.

Se a estrutura da flag for baseada num sistema binário, então as operações de ativação e desativação e teste serão também optimizadas (ao nível do processamento) já que apenas requerem operações simples de lógica binária.

Exemplos editar

Observação: o número de bits é o mesmo número de flags (por exemplo: 8 bits representam 8 flags).

Configuração flag #1 flag #2 flag #3 flag #4
0101 Desabilitada Habilitada Desabilitada Habilitada
1101 Habilitada Habilitada Desabilitada Habilitada

Informações editar

Bits / Flags Bytes Valor
1 1/8 0 a 1
2 1/4 0 a 3
3 3/8 0 a 7
4 1/2 0 a 15
5 5/8 0 a 31
6 6/8 0 a 63
7 7/8 0 a 127
8 1 0 a 255

Também existem números de bits maiores, como, por exemplo, 32 flags (32 bits = 4 bytes) que representam de 0 a 4 294 967 295 em decimal (ou FFFFFFFF em hexadecimal)

  Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.