_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ı derleme) 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.