Share via


/QIfist (Suprimir _ftol)

Actualización: noviembre 2007

Suprime la llamada de la función auxiliar _ftol cuando se requiere la conversión de un tipo de punto flotante a un tipo integral.

/QIfist

Comentarios

Nota:

/QIfist sólo está disponible en el compilador con destino en x86; esta opción del compilador no está disponible en los compiladores con destino en x64 o Itanium.

Además de realizar la conversión de un tipo de punto flotante a un tipo integral, la función _ftol garantiza que el modo de redondeo de la unidad de punto flotante (FPU) se hace a cero (se trunca) mediante el establecimiento de los bits 10 y 11 de la palabra de control. Esto garantiza que la conversión de un tipo de punto flotante en tipo integral se realiza como se describe en la norma ANSI C (la parte fraccional del número se descarta). Si se utiliza /QIfist, esta garantía ya no es aplicable. El modo de redondeo será uno de los cuatro documentados en los manuales de referencia de Intel:

  • Redondeo al más próximo (número par si está equidistante)

  • Redondeo a infinito negativo

  • Redondeo a infinito positivo

  • Redondeo a cero

Puede utilizar la función en tiempo de ejecución _control87, _controlfp, __control87_2 de C para modificar el comportamiento de redondeo de la FPU. El modo de redondeo predeterminado de la FPU es "Redondeo al más próximo". El uso de /QIfist puede mejorar el rendimiento de la aplicación, pero no sin riesgo. Compruebe exhaustivamente las partes del código que sean sensibles al modo de redondeo, antes de lanzar un código generado con /QIfist a los entornos de producción.

Las opciones /arch (Arquitectura de CPU mínima) y /QIfist no se pueden utilizar en la misma operación de compilación.

Nota:

/QIfist no está en vigor de manera predeterminada, ya que los bits de redondeo también afectan al redondeo de punto flotante a punto flotante (que se produce después de cada cálculo), de modo que, cuando se establecen los indicadores para redondeo de estilo C (a cero), los cálculos de punto flotante podrían ser diferentes. /QIfist no se debe utilizar si el código depende del comportamiento esperado al truncar la parte fraccionaria del número en punto flotante. Si no está seguro, no use /QIfist.

En Visual C++ 2005, la opción /QIfist ha quedado obsoleta. El compilador ha realizado mejoras importantes en la velocidad de conversión de flotante a int. Para obtener más información, vea Opciones obsoletas del compilador en Visual C++ 2005.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.

  2. Haga clic en la carpeta C/C++.

  3. Haga clic en la página de propiedades Línea de comandos.

  4. Escriba la opción del compilador en el cuadro Opciones adicionales.

Para establecer esta opción del compilador mediante programación

Vea también

Referencia

/Q (Opciones) (Operaciones de bajo nivel)

Opciones del compilador

Establecer las opciones del compilador