Вы можете использовать тот факт, что знак вычисления a - b
зависит от того, какое число больше. Это используется во многих реализациях сравнения. Но я верю, что вы никогда не сможете полностью избежать сравнения. В этом случае вам по крайней мере необходимо оценить содержимое флага знака на процессоре.
Если вам просто нужно отобразить нижнее число, вы также можете использовать арифметические трюки:
result = ((a + b) - sqrt((a - b) * (a - b))) / 2
РЕДАКТИРОВАТЬ эмм ... вам разрешено использовать switch
?
Я должен использовать операторы switch и арифметические операторы.
switch
в основном то же самое, что и цепочка if
, и поэтому также использует сравнение. Это звучит так, как будто вы действительно должны просто сравнить с нулем, чтобы увидеть, какой знак имеет a - b
.