_clear87, _clearfp

Alır ve kayan nokta durumu word temizler.

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

Dönüş Değeri

Dönen değer biti çağrısından önce kayan nokta durumu göstermek _clear87 veya _clearfp.Tam bir tanımı tarafından döndürülen bit _clear87, Float.h bakın.Math kitaplığı işlevlerin çoğunu 8087/80287 durum word, öngörülmeyen sonuçlarla değiştirin.Değerlerin _clear87 ve _status87 kayan nokta işlemlerini daha az bilinen kayan nokta durumu word durumlar arasında gerçekleştirilen daha güvenilir hale gelir.

Notlar

_clear87 İşlev kayan nokta durumu Word'de özel durum bayrakları temizler, meşgul biti 0 olarak ayarlar ve durum word döndürür.Kayan nokta durumu word 8087/80287 durum word ve kayan nokta yığın taşması ve Yetersizlik durumu gibi 8087/80287 özel durum işleyicisi tarafından algılanan diğer koşullar birleşimidir.

_clearfpplatformdan bağımsız, taşınabilir bir sürümü olan _clear87 yordamına girildi.Aynı _clear87 Intel (x 86) platformlarda ve ayrıca alpha ve MIPS tarafından desteklenen platformlar.Kayan nokta kodunuzu MIPS ya da ALFA taşınabilir olmasını sağlamak için _clearfp.Yalnızca x 86 hedefleme, platformlar, kullanabilirsiniz _clear87 veya _clearfp.

Bu işlevler ile derlerken itiraz /clr (Ortak Dil Çalışma Zamanı Derlemesi) veya /clr:pure common language runtime yalnızca varsayılan kayan nokta duyarlık desteklediği için.

Gereksinimler

Yordamı

Gerekli başlık

_clear87

<float.h>

_clearfp

<float.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

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

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Kayan Nokta Desteği

_control87, _controlfp, __control87_2

_status87, _statusfp, _statusfp2