Udostępnij za pośrednictwem


_clear87, _clearfp

Pobiera i czyści wyrazy stanu zmiennoprzecinkowego.

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

Wartość zwracana

Bity w wartości zwracanej wskazują stan zmiennoprzecinkowych przed wywołaniem _clear87 lub _clearfp.Kompletne definicji usługi bits, zwrócony przez _clear87, zobacz Float.h.Wiele funkcji biblioteki math zmodyfikować stan 8087/80287 programu word z nieprzewidywalne skutki.Zwraca wartości z _clear87 i _status87 stają się bardziej niezawodne mniejszej liczby zmiennoprzecinkowe operacje są wykonywane między Państwami znanych Word stanu zmiennoprzecinkowego.

Uwagi

_clear87 Funkcja czyści flagi wyjątek w programie word stanu zmiennoprzecinkowego, ustawia zajęty bit 0 i zwraca słowo status.Wyrazy stanu zmiennoprzecinkowego jest kombinacją word stan 8087/80287 i inne warunki wykrytych przez obsługi wyjątków 8087/80287, takie jak przepełnienie stosu zmiennoprzecinkowego i niedomiar.

_clearfpjest to niezależne od platformy, przenośne wersja _clear87 rutynowych.Jest on identyczny z _clear87 na platformach firmy Intel (x 86) i jest również obsługiwany przez MCI i ALFA platformy.W celu zapewnienia, że kod zmiennoprzecinkowych jest przenośny MIPS lub ALFA, należy użyć _clearfp.Jeśli tylko są wyróżniane x 86 platform, można użyć albo _clear87 lub _clearfp.

Funkcje te są przestarzałe podczas kompilacji z /clr (Kompilacja środowiska uruchomieniowego języka wspólnego) lub /clr:pure ponieważ common language runtime obsługuje tylko Domyślna precyzja zmiennoprzecinkowych.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_clear87

<float.h>

_clearfp

<float.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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() );
}
  

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Obsługa liczb zmiennoprzecinkowych

_control87, _controlfp, __control87_2

_status87, _statusfp, _statusfp2