Warum werden Bools manchmal als "Flags" bezeichnet?

8

Warum werden Bools manchmal als "Flags" bezeichnet? Ist es nur eine Metapher oder gibt es einen historischen Grund dafür?

    
Komm 27.09.2015, 16:35
quelle

2 Antworten

6

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 .

    
Mureinik 27.09.2015, 16:45
quelle
4

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.

    
wero 27.09.2015 17:52
quelle

Tags und Links