Flag
In der Informatik ist ein Flag ein Wert, der als Signal für eine Funktion oder einen Prozess dient. Der Wert des Flags wird verwendet, um den nächsten Schritt eines Programms zu bestimmen. Flags sind häufig binäre Flags, die einen booleschen Wert enthalten (wahr oder falsch). Allerdings sind nicht alle Flags binär, das heißt, sie können einen Wertebereich speichern.
Man kann sich ein binäres Flag wie eine kleine rote Fahne vorstellen, die flach liegt, wenn sie falsch ist, aber aufspringt, wenn sie wahr ist. Eine aufgerichtete Fahne sagt einem Programm: „Stopp – führe etwas anderes aus.“ Ein häufiges Beispiel für ein Flag in der Computerprogrammierung ist eine Variable in einer while-Schleife. Die folgende PHP-Schleife wird iterieren, bis $flag auf true gesetzt wird.
$flag = false;
$i = 1;
while (!$flag) // stop when $flag is true
{
echo "$i, ";
$i++; // increment $i
if ($i > 100) $flag = true;
}
Der obige Code gibt Zahlen (1, 2, 3 ... 100) aus. Danach wird die Schleife beendet, weil $flag auf true gesetzt wird. Die Verwendung eines Flags ist in diesem Zusammenhang effektiv, aber unnötig. Stattdessen hätte die Bedingung der while-Schleife while ($i < 101) statt while (!$flag) lauten können. Das hätte dasselbe Ergebnis erzeugt und die Notwendigkeit der Variable $flag beseitigt. Effizient geschriebene Programme benötigen selten explizite Flags, da eine vorhandene Variable innerhalb einer Funktion oft als Flag verwendet werden kann.
Nicht-binäre Flags
Nicht-binäre Flags verwenden mehrere Bits und können mehr als „ja oder nein“ oder „wahr oder falsch“ speichern. Diese Arten von Flags benötigen mehr als ein Bit, aber nicht unbedingt ein vollständiges Byte. Zwei Bits können beispielsweise vier mögliche Optionen ergeben.
- 00 = Option A
- 01 = Option B
- 10 = Option C
- 11 = Option D
Man kann sich ein nicht-binäres Flag wie eine Fahne mit mehreren Farben vorstellen. Ein Programm kann prüfen, ob 1) das aus mehreren Bits bestehende Flag gesetzt ist und 2) welchen Wert es enthält. Abhängig vom Wert (oder der „Farbe“) des Flags wird das Programm in der entsprechenden Richtung fortfahren.
Testen Sie Ihr Wissen