Sdílet prostřednictvím


_clear87 _clearfp

Získá a vymaže word stavu s plovoucí desetinnou čárkou.

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

Vrácená hodnota

Označení bity vrácená hodnota s plovoucí desetinnou čárkou stavu před volání _clear87 nebo _clearfp.Pro úplnou definici bitů vrácené _clear87, viz Float.h.Mnoho matematických funkcí knihovny upravit slovo 8087/80287 stav k nepředvídatelným výsledkům.Hodnoty z _clear87 a _status87 se stanou spolehlivější jako méně operace s plovoucí desetinnou čárkou jsou prováděny mezi státy známé aplikace Word s plovoucí desetinnou čárkou stav.

Poznámky

_clear87 Funkce vymaže příznaky výjimky v aplikaci word stavu s plovoucí desetinnou čárkou, nastaví zaneprázdněn bit 0 a vrátí stav aplikace word.Aplikace word s plovoucí desetinnou čárkou stav je kombinací word 8087/80287 stav a další podmínky zjištěný popisovač výjimky 8087/80287, jako například přetečení zásobníku s plovoucí desetinnou čárkou a podtečení.

_clearfpje nezávislý na platformě, přenosné verze _clear87 rutina.Je shodné s _clear87 na platformách Intel (x 86) a je podporováno také MIPS a ALFA platformy.Chcete-li zajistit přenosné MIPS nebo ALFA kódu s plovoucí desetinnou čárkou, použijte _clearfp.Pokud volíte pouze x 86 platformách, můžete použít buď _clear87 nebo _clearfp.

Tyto funkce jsou již nepoužívá při kompilaci s /CLR (kompilace společné Language Runtime) nebo /clr:pure protože společný jazykový modul runtime podporuje pouze výchozí přesnost s plovoucí desetinnou čárkou.

Požadavky

Rutina

Požadované záhlaví

_clear87

<float.h>

_clearfp

<float.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

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

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Podpora s plovoucí desetinnou čárkou

_control87, _controlfp, __control87_2

_status87, _statusfp, _statusfp2