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 Observação: o número de bits é o mesmo número de flags (por exemplo: 8 bits representam 8 flags).

Configuraçãoflag #1flag #2flag #3flag #40101DesabilitadaHabilitadaDesabilitadaHabilitada1101HabilitadaHabilitadaDesabilitadaHabilitada

Informações Bits / FlagsBytesValor11/80 a 121/40 a 333/80 a 741/20 a 1555/80 a 3166/80 a 6377/80 a 127810 a 255

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

Categoria:Terminologia informática