数値変数をフラグ変数として活用するためには
2進数の演算(論理演算)を理解する必要があります。
これについても過去記事を参照していただきたいのですが
ここで簡単に説明しておきましょう。
論理演算は2進数値の演算です。
2進数は0と1だけで表現されています。
基本的な演算は次の通りです。
■論理和(OR)
論理和は条件の判断などで使う『または』と同じです。
『または』とは2つの条件のうちどちらか一方が成り立てば
この条件は成り立つという意味です。
論理演算では0を偽もしくはFALSE、1を真もしくはTRUEといいます。
TRUEは条件が成り立つ、要するにOKって事です。
FALSEは条件が成り立たない、要するにNGって事です。
2つの2進数の組み合わせは4通りありますね。
各組み合わせで論理和を考えると下記の通りになります。
A OR B = 結果
======================
0 0 0
0 1 1
1 0 1
1 1 1
■論理積(AND)
論理積は条件の判断などで使う『かつ』と同じです。
『かつ』とは2つの条件が両方ともに成り立てば
この条件は成り立つという意味です。
各組み合わせで論理積を考えると下記の通りになります。
A AND B = 結果
======================
0 0 0
0 1 0
1 0 0
1 1 1
■排他的論理和(XOR)
排他的論理和は論理和ににています。
各組み合わせで論理積を考えると下記の通りになります。
A XOR B = 結果
======================
0 0 0
0 1 1
1 0 1
1 1 0 ←ここが違います
OR演算子との違いはOR演算子はどちらか一方または両方成り立てば
成り立つだったのがこの排他的論理和ではどちらか一方だけが成り立てば
この条件は成り立ちます。
■否定(NOT)
今までの演算子は2つの2進数値が必要な2項演算子でしたが
このNOTは単項演算子といい1つの2進数値が必要です。
否定は条件の反転を行います。
NOT A = 結果
======================
0 1
1 0
これらの論理演算(プチコンではビット演算)をどのようにして使えば
フラグ処理ができるのかを次回説明します。