Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_clear87, _clearfp

Obtiene y borra la palabra de estado flotante.

unsigned int _clear87( void );
unsigned int _clearfp( void );

Los bits del valor devuelto indican el estado flotante antes de la llamada a _clear87 o a _clearfp. Para ver una definición completa de los bits devueltos por _clear87, vea Float.h. Muchas de las funciones de la librería matemática modifican la palabra de estado de 8087/80287, con resultados imprevisibles. Los valores devueltos de _clear87 y _status87 pasan a ser más predecibles mientras menos operaciones de punto flotante se realizan entre estados conocidas de word de estado flotante.

La función de _clear87 borra los marcadores de la excepción en la palabra de estado flotante, establezca el bit No disponible en 0, y devuelve la palabra de estado. La palabra de estado flotante es una combinación de palabras de estado de 8087/80287 y otras condiciones detectadas por el controlador de excepciones de 8087/80287, como desbordamiento de pila y subdesbordamiento de punto flotante.

_clearfp es una plataforma- independiente, versión portable de la rutina de _clear87 . Es idéntica a _clear87 en plataformas Intel (x86) y también es compatible con MIPS y plataformas Alpha. Para asegurarse de que el código flotante sea portable a MIPS o a la ALFA, utilice _clearfp. Si solo va a usar plataformas x86, puede usar _clear87 o _clearfp.

Se han dejado de utilizar estas funciones al compilar con /clr (Compilación de Common Language Runtime) o /clr:pure porque Common Language Runtime admite únicamente la precisión flotante predeterminada.

Rutina

Encabezado necesario

_clear87

<float.h>

_clearfp

<float.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

// crt_clear87.c
// compile with: /Od

// This program creates various floating-point 
// problems, then uses _clear87 to report on these problems.
// Compile this program with Optimizations disabled (/Od). 
// Otherwise the optimizer will remove the code associated with 
// the unused floating-point values.
//

#include <stdio.h>
#include <float.h>

int main( void )
{
   double a = 1e-40, b;
   float x, y;

   printf( "Status: %.4x - clear\n", _clear87()  );

   // Store into y is inexact and underflows:
   y = a;
   printf( "Status: %.4x - inexact, underflow\n", _clear87() );

   // y is denormal: 
   b = y;
   printf( "Status: %.4x - denormal\n", _clear87() );
}
Estado: 0000 - claro
Estado: 0003 - inexacto, subdesbordamiento
Estado: 80000 - denormal

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft