ロベールのC++入門講座 03-12
真偽値が1と0なのを利用した、ある整数の符号を求めるテクニックの紹介がありました。
int sign = (n > 0) - (n < 0);
nがもし正の整数の場合「(1) - (0)」となり、「sign=1」になります。
nがもし負の整数の場合「(0) - (1)」となり、「sign=-1」となります。
更にnがもし0の場合「(0) - (0)」となり、「sign=0」となります。
うまい方法ですね、若干可読性は悪いですが、ifや三項演算子で分岐するよりも簡単に書けます。