Why are bools are sometimes referred to as "flags"?
Asked Answered
D

3

13

Why are bools sometimes referred to as "flags"? Is it just a metaphor or is there some historical reason behind it?

Despiteful answered 27/9, 2015 at 16:35 Comment(1)
I always imagined it has to do with raising or lowering flags to start and stop traffic.Respectable
E
8

Flags are an ancient way to convey information. A flag, if we ignore lowering it to half-mast, has only two states - raised or not raised. E.g., consider a white flag - raising it means surrendering. Not raising it, the default state, means that you are not surrendering.

A boolean variable, like a flag, only has two states - true and false.

Emrich answered 27/9, 2015 at 16:45 Comment(0)
T
5

Flag can be used as noun and as verb: To flag can mean to note, mark, signal something (Maybe this is derived from the use of nautical flags?)

An early (but probably not the first) use of the term flag in computer history can be found in the IBM 1620 from 1959 (my emphasis):

Memory was accessed two decimal digits at the same time (even-odd digit pair for numeric data or one alphameric character for text data). Each decimal digit was 6 bits, composed of an odd parity Check bit, a Flag bit, and four BCD bits for the value of the digit in the following format:

C F 8 4 2 1

The Flag bit had several uses:

  • In the least significant digit it was set to indicate a negative number (signed magnitude).
  • It was set to mark the most significant digit of a number (wordmark).
  • In the least significant digit of 5-digit addresses it was set for indirect addressing (an option on the 1620 I, standard on the 1620 II). Multi-level indirection could be used (you could even put the machine in an infinite indirect addressing loop). In the middle 3 digits of 5-digit addresses (on the 1620 II) they were set to select one of 7 index registers.

So a bit used to mark or indicate something was called flag bit.

Of course the use of "flag" in flag fields or status registers is then quite natural.

But once the association between flag and bit has been established it is also understandable that their use can become exchangeable. And of course this also holds for boolean variables.

PS: The same question was already asked, but unfortunately without answer.

Tambratamburlaine answered 27/9, 2015 at 17:52 Comment(0)
R
0

I like the idea that, instead, the word flag originally referred to the postbox flag.

enter image description here

Rus answered 3/3, 2024 at 14:20 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.