フラグ (コンピュータ)
フラグとして変数を定義するとき、ブーリアン型を用いることがほとんどである。ブーリアン型は「真」(フラグが立っている)および「偽」(フラグが立っていない)のみを値として受けつけ、都合が良いからである。Javaのif文など、言語によっては条件式が期待される文脈ではブーリアン型しか受け入れられないことがある。真値と偽値には、trueやfalseといった専用リテラルがキーワードまたは予約語として用意されていることが多い。
C言語のC89などブーリアン型が無い言語もある。そういった言語では、多くが組み込みの固定長整数型または数値型で代用する仕様となっている。C言語の場合、0が偽、0以外が真として扱われる。C言語では偽値の論理否定は真値の代表値すなわち1となる仕様であり、例えば !0 は1になり、真値の二重否定 !!"hello" は1になる。このような慣習はシステムや言語、ソフトウェアフレームワークによって大きく異なることが多く、例えばUnixシェルでは0が真で1が偽である。他には-1が真で0が偽という環境もある。
コンピュータにおけるフラグ(英: flag)とは、真か偽か・0か1か・マイナスが付くか付かないか、などといった情報量が1ビットの値(情報)を状態として保持する、レジスタや変数などのことである。メモリの節約などのために、複数ビットを持つ整数型を使って、フラグの集合をコンパクトに管理することもある。