| |||
|
フラグのON・OFFを判定文ナシで反転
| |||
通常は、フラグ(スイッチ)変数のON・OFF切り替えをif文で現在の状態をチェックして、 「if i == 0 : i = 1 : else : i = 0」というように逆の値をセットするかと思いますが、 反転させるだけならば、「2つの合計値−現在値」を計算するだけで可能なのです。 例えば、0と1を切り替えたいとして、現在の値が0ならば「(0+1)−0」で1に変わります。 逆に現在が1なら、「(0+1)−1」で0になりますね。 0と1の例で行いましたが、2つの値であれば同じ方法で可能のです。 3と5で現在5ならば、「8−5」で3、現在3ならば、「8−3」で5です。 このフラグ反転だけを1000万回実行したものと、if文で反転させたものとでは、 私の環境で複数回試したところ、フラグ反転だけの方が平均1.73秒速く処理を終えました。 | |||
| |||
|