MaKvc
@MaKvc
Отчаянный веб-разработчик

Существует ли формула позволяющая определить какое из двух чисел является самым большим?

Добрый день! Существует ли формула позволяющая определить какое из двух чисел является самым большим. По сути, аналог тернарного оператора в языках программирования? Допустим, дано:
a=1000
b=500
x= <после вычисления получает значение 1000, т.к. оно больше>
  • Вопрос задан
  • 413 просмотров
Решения вопроса 1
gbg
@gbg
Любые ответы на любые вопросы
Максимум:

( a + b + sqrt(  ( a - b ) * ( a - b ) ) ) 
___________________________________________
                     2


Чтобы получить минимум, надо перевернуть знак перед корнем:

( a + b - sqrt(  ( a - b ) * ( a - b ) ) ) 
___________________________________________
                     2


Где SQRT - взятие корня квадратного

Код на плюсиках:
int32_t TheMadMax( const int32_t a, const int32_t b ) 
{
    const int32_t alpha = ( a - b );
    const int32_t beta  = alpha >> 31;
    const int32_t gamma = ( alpha ^ beta ) - beta;
    return ( a + b + gamma ) >> 1;
}


Референс
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы