フラグ

In コンピューターサイエンスでは、フラグは関数プロセスの信号として機能する値です。このフラグの値を使って、プログラムの次の処理を決定します。フラグは、多くの場合バイナリフラグで、ブール値(trueまたはfalse)を含みます。ただし、すべてのフラグがバイナリというわけではなく、複数の値を保存できるものもあります。

バイナリフラグは、falseのときは横になっていて、trueになると立ち上がる小さな赤い旗だと考えることができます。旗が立つと、プログラムに「停止して、別の処理をしなさい」と伝えます。コンピュータープログラミングでのフラグの一般的な例として、whileループ内の変数があります。次のPHPのループは、$flagがtrueに設定されるまで反復処理を行います。

$flag = false;
$i = 1;
while (!$flag)  // stop when $flag is true
{
      echo "$i, ";
      $i++;   // increment $i
    if ($i > 100) $flag = true;
}

上記のコードは、100まで数値(1、2、3...)を出力します。その後、$flagがtrueに設定されるため、ループは終了します。この例でフラグを使う方法は効果的ですが、必要ではありません。代わりに、whileループの条件にはwhile ($i < 101)を指定し、while (!$flag)とすることもできます。これでも同じ結果になり、$flag変数も不要になります。効率よく書かれたプログラムでは、明示的なフラグが必要になることはほとんどありません。関数内にすでに存在する変数をフラグとして使えることが多いためです。

バイナリフラグには1ビットだけが必要で、0または1に設定できます。ただし、バイトは8ビットなので、1バイトでバイナリフラグを1つ保存する場合、7ビットが未使用になります。1バイトは依然として非常に少量のデータですが、プログラマーは1バイトを使って複数のバイナリフラグを保存することもできます。

バイナリではないフラグ

バイナリではないフラグは複数のビットを使い、「はいかいいえ」や「trueかfalse」より多くの値を保存できます。この種類のフラグには1ビットより多くのビットが必要ですが、必ずしも1バイト全体が必要なわけではありません。例えば、2ビットで4つの選択肢を作ることができます。

  1. 00 = オプションA
  2. 01 = オプションB
  3. 10 = オプションC
  4. 11 = オプションD

バイナリではないフラグは、複数の色が付いた旗だと考えることができます。プログラムは、1)複数ビットのフラグが設定されているか、2)どの値が含まれているかを確認できます。フラグの値(または「色」)に応じて、プログラムは対応する方向へ処理を続けます。

更新日 May 17, 2018 著者: Per C.

quiz知識をテストする

What software allows you to control your computer over the Internet?

A
Virtual desktop
0%
B
Distributed computing
0%
C
Cloud computing
0%
D
Remote desktop
0%
Correct! Incorrect!     View the Remote Desktop definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのフラグの定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。