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 activaativa 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, activoativo/inactivoinativo) permite optimizar as [[estrutura de dados|estruturas de dados]], na medida em que basta apenas um ''[[bit]]'' para activarativar 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 activaçãoativação e desactivaçãodesativaçã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]].