Hola a todos. Nocturno, me parece que tu primera solución es la mas compacta y la mas adecuada.
No entiendo tu segunda solución, pues no funciona cuando el valor desciende de -0,5, ya que la expresion sigue dando menor que 1, tal vez deberia ser:
if ((abs(Valor)+0.5)<1) {;}
Pero en realidad lo que estas haciendo es plantear la misma solución que la primera, solo que desplazas el punto de comparación por media unidad. Yo creo que has acertado con la primera solución, havbria que ver el ASM, pero seguramente es la mas rápida de ejecutar. Espero sus opiniones.
Saludos gente.