float
に変換しint
、 の範囲がオーバーフローしたときint
に maxint
または minにする方法を見つけたいですint
。
今、私はこのような方法を持っています
float x, mul = 1e5;
int y;
if (x * mul > (float)max_int_value)
y = max_int_value;
else if (x * mul < (float)min_int_value)
y = min_int_value;
else
y = (int)x * mul;
しかし、これは非常に遅いと思います(2つの比較が必要です)。多くの値を変換するときにSSEを使用して高速化したいと考えています。
もっと手っ取り早い方法を知りたいです、ありがとうございます。