私はcomparers( "=="、 "!="、 ">"、 "<なし配列のリストから最小値を返さなければならない関数を実装しようとしています"、"> = "、" < = ")ですが、簡単にするために、私は2つの変数で作業します。 2つの値があるとします。数字5が "a"、数字35が "b"と宣言されているので、符号なし整数ではなく2つの整数の最小値を得る方法を見つけました。最小値を2符号なしintから取得
b + ((a - b) & ((a - b) >> 31));
誰も助けてくれますか?
http://graphics.stanford.edu/~seander/bithacks.html#IntegerMinOrMaxのようなものはありますか? – kennytm
このint型のコードは整数オーバーフローしやすく、(符号付き)整数オーバーフローは未定義の動作であることに注意してください。例えば、 'a == 0'と' b == INT_MIN'の場合は、期待される結果を返さないかもしれません。 – ouah