TOP >> マニアックなプログラミング
トリッキーコードネット トリッキーなコード

【トリッキーなコード】XOR(排他的論理和)をifステートメントで表現

XORをifステートメントで表現するやり方です ↓↓
a < 0 != b < 0

C++コード例)

#include <iostream> using namespace std; int main() { int a = -1; int b = -1; cout << (a < 0 != b < 0) << endl; return 0; }
結果は、 a,bが、 両方ともマイナス or 両方とも0 ⇒ 0 が表示 どちらかがマイナスで どちらかが0 ⇒ 1 が表示 されます。 表にするとこんな感じ。
ab結果
マイナスマイナス0
マイナス01
0マイナス1
000
何故マイナスと0で区別するのかというと、C言語で関数実行の戻り値は、 正常終了が0、異常終了がマイナス という、暗黙の了解がある為ではないかと推測します^^;) ・・・あまり使い道が思い浮かばなかったけれど、面白かったのでとりあえずメモ .〆(・ω・` )カキカキ
トリッキーコードネット の TOPへ HOTNEWS の 総合TOPへ