Comparar dos enteros sin comparación

¿Es posible encontrar el mayor de dos enteros sin ninguna comparación? Encontré algunas soluciones:

if(!(a/b)) // if a is less than b then division result will be zero.
{
    cout << " b is greater than a";
}
else if (!(a-b)) // we know a is greater than or equal to b now.  check whether they are equal.
{
    cout << "a and b are equal";
}
else
    cout << "a is greater than b";

Pero si (c) o si (! C) es una comparación con cero. Además, no funciona para números negativos. De hecho, necesito una solución que evite cualquier declaración if. En cambio, debería usar sentencias de cambio y operadores aritméticos. Gracias

Respuestas a la pregunta(13)

Su respuesta a la pregunta