Какой самый оптимальный алгоритм сравнения?

У меня есть вопрос, на который я не смог найти ответ в поисковиках. Выглядит он следующим образом. Можно ли сравнить выражение с нулем, не производя вычислений этого выражения? И можно ли вообще сравнивать два числа, не считая их разницу? То есть, существует ли более оптимальный алгоритм? Мне кажется, что нет, но у меня нет доказательства этого факта. Посоветуйте, пожалуйста, где искать ответ и, если вы его знаете, то прошу им поделиться со мной.
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Griboks
@Griboks
Можно ли сравнить выражение с нулем, не производя вычислений этого выражения?

Для этого выражение должно обладать некоторыми свойствами, однозначно определяющими его знак. Придётся вычислять эти свойства.
Например, знак минус свидетельствует о том, что число меньше нуля. Но этот знак надо как-то получить.
Парабола может "висеть" над осью Абсцисс. Для этого надо вычислить a, D.
Если выражение есть квадратный корень, то достаточно проверить равенство с нулём.

И можно ли вообще сравнивать два числа, не считая их разницу?

Опять же, зависит от свойств этих чисел.
Например, положительные числа одинаковой разрядности можно сравнивать побитово слева.
Можно сравнивать длину бинарных чисел.

Короче говоря, вот вам доказательство, что существуют более оптимальные алгоритмы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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