Flaggen sind eine uralte Art, Informationen zu vermitteln. Eine Flagge, wenn wir ignorieren, sie auf Halbmast zu senken, hat nur zwei Zustände - erhöht oder nicht erhöht. Z. B. eine weiße Flagge in Betracht ziehen - das Erhöhen bedeutet eine Übergabe. Wenn Sie den Status nicht erhöhen, bedeutet das, dass Sie sich nicht ergeben.
Eine boolesche Variable hat wie eine Flagge nur zwei Zustände - true
und false
.
Flagge kann als Nomen und als Verb verwendet werden: "Flagge" kann bedeuten, etwas zu notieren, zu markieren, zu signalisieren (Vielleicht Dies ergibt sich aus der Verwendung von nautischen Fahnen?)
Eine frühe (aber wahrscheinlich nicht die erste) Verwendung des Begriffs Flagge in der Computergeschichte findet sich im IBM 1620 von 1959 (meine Betonung):
Auf den Speicher wurden zwei Dezimalziffern zur gleichen Zeit zugegriffen (gerade-ungerade Ziffernpaar für numerische Daten oder ein alphanumerisches Zeichen für Text Daten). Jede Dezimalstelle bestand aus 6 Bits, die aus einer ungeraden Paritätsprüfung bestanden Bit, ein Flag-Bit und vier BCD-Bits für den Wert der Ziffer in der folgendes Format:
C F 8 4 2 1
Das Flag-Bit wurde mehrfach verwendet:
- In der niedrigstwertigen Ziffer wurde auf eine negative Zahl (vorzeichenbehaftete Größe) gesetzt.
- Es wurde auf markiert die höchstwertige Ziffer einer Zahl (Wortmarke) gesetzt.
- In der niedrigstwertigen Ziffer der 5-stelligen Adressen wurde sie für die indirekte Adressierung eingestellt (eine Option für den 1620 I, Standard für den 1620 II). Mehrstufige Indirection könnte verwendet werden (Sie könnten sogar die Maschine in einer unendlichen indirekten Adressierungsschleife). In den mittleren 3 Ziffern der 5-stelligen Adressen (beim 1620 II) wurden sie so eingestellt, dass sie eines von 7 Indexregistern auswählten.
Also wurde ein Bit, das benutzt wurde, um etwas zu markieren oder anzuzeigen, Flag-Bit genannt.
Natürlich ist die Verwendung von "flag" in Flag-Feldern oder Statusregistern dann ganz natürlich.
Aber sobald die Verbindung zwischen Flagge und Bit hergestellt ist, ist es auch verständlich, dass ihre Verwendung austauschbar werden kann. Und das gilt natürlich auch für boolesche Variablen.
PS: Die gleiche Frage wurde schon gestellt , aber leider ohne Antwort.