Веб-сайт, на котором я нашел этот код
int v, sign;
// or, to avoid branching on CPUs with flag registers (IA32):
sign = -(int)((unsigned int)((int)v) >> (sizeof(int) * CHAR_BIT - 1)); // if v < 0 then -1, else 0.
Этот оператор присваивает знак переменной знаку переменной v (-1 или 0). Интересно, почему (int)((unsigned int)((int)v)
используется вместо простого v?