Flag
Em ciência da computação, uma flag é um valor que atua como um sinal para uma função ou processo. O valor da flag é usado para determinar a próxima etapa de um programa. As flags geralmente são flags binárias, que contêm um valor booleano (verdadeiro ou falso). No entanto, nem todas as flags são binárias, o que significa que podem armazenar uma série de valores.
Você pode imaginar uma flag binária como uma pequena bandeira vermelha que fica abaixada quando é falsa, mas se levanta quando é verdadeira. Uma bandeira levantada diz a um programa: "Pare — faça algo diferente." Um exemplo comum de flag na programação é uma variável em um loop while. O loop PHP abaixo vai iterar até que $flag seja definida como true.
$flag = false;
$i = 1;
while (!$flag) // stop when $flag is true
{
echo "$i, ";
$i++; // increment $i
if ($i > 100) $flag = true;
}
O código acima exibirá números (1, 2, 3...) até 100. Então, o loop será interrompido porque $flag será definida como true. Usar uma flag nesse contexto é eficaz, mas desnecessário. Em vez disso, a condição do loop while poderia ter sido while ($i < 101) em vez de while (!$flag). Isso produziria o mesmo resultado e eliminaria a necessidade da variável $flag. Programas escritos de forma eficiente raramente precisam de flags explícitas, pois uma variável já existente dentro de uma função geralmente pode ser usada como uma flag.
Flags não binárias
As flags não binárias usam vários bits e podem armazenar mais do que "sim ou não" ou "verdadeiro ou falso". Esses tipos de flags exigem mais de um bit, mas não necessariamente um byte completo. Por exemplo, dois bits podem produzir quatro opções possíveis.
- 00 = opção A
- 01 = opção B
- 10 = opção C
- 11 = opção D
Você pode imaginar uma flag não binária como uma bandeira com várias cores. Um programa pode verificar 1) se a flag de vários bits está definida e 2) qual valor ela contém. Dependendo do valor (ou da "cor") da flag, o programa continuará na direção correspondente.
Teste seus conhecimentos