Aracılığıyla paylaş


_status87, _statusfp, _statusfp2

Yüzen Al durum word'ın üzerine gelin.

unsigned int _status87( void );
unsigned int _statusfp( void );
void _statusfp2(unsigned int *px86, unsigned int *pSSE2)

Parametreler

  • px86
    Bu adres, kayan nokta birimi x 87 durum sözcük olarak girilir.

  • pSSE2
    Bu adres, kayan nokta birimine SSE2 için durum sözcüğüyle girilir.

Dönüş Değeri

İçin _status87 ve _statusfp, bit değerini döndürdü kayan nokta durumunu gösterir. float bakın.H içerme dosyası tarafından döndürülen bit tam bir tanımı için _status87. Pek çok matematik kitaplığı işlevlerini 8087/80287 durum word, öngörülmeyen sonuçlarla değiştirin. Değerlerin _clear87 ve _status87 bilinen kayan nokta durumu word durumlar arasında daha az kayan nokta işlemlerini gerçekleştirdiyseniz daha güvenilir değil. _statusfp2Dönüş değeri yok.

Notlar

_status87 İşlev kayan nokta durumu word alır. Durum word 80287/8087/80387 durum word ve kayan nokta yığın taşması ve Yetersizlik durumu gibi 80287/8087/80387 özel durum işleyicisi tarafından algılanan diğer koşullar birleşimidir. Maskelenmemiş özel durumlar için durum word içeriğini döndürmeden önce kontrol edilir. Arayan, özel durumları bilgilendirildi, yani.

_statusfpplatformdan bağımsız, taşınabilir bir sürümü olan _status87. Aynı _status87 Intel (x 86) platformlarda ve MIPS Platformu tarafından da desteklenir. Kayan nokta kodunuzu MIPS için taşınabilir olmasını sağlamak için _statusfp. Yalnızca x 86 hedefleme, platformlar, kullanın ya da _status87 veya _statusfp.

_statusfp2İşlemci x 87 ve kayan SSE2'ın üzerine olan yongaları için (Pentium IV ve daha üstü) önerilir. İçin _statusfp2, adresleri, hem x 87 veya SSE2'ye kayan noktalı işlemci için kayan nokta durumu word ile doldurulur. X 87 ve SSE2'ye kayan nokta işlemcileri destekleyen bir yonga kullanırken 1 if EM_AMBIGUOUS set _statusfp veya _controlfp kullanılır ve x 87 veya SSE2'ye kayan nokta durumu word için başvurabileceğiniz olduğundan işlem belirsiz.

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

_status87, _statusfp, _statusfp2

<float.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// crt_status87.c
// This program creates various floating-point errors and
// then uses _status87 to display messages indicating these problems.
// Compile this program with optimizations disabled (/Od). Otherwise,
// the optimizer removes the code related to 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",_status87() );

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

   // y is denormal: 
   b = y;
   printf( "Status = %.4x - inexact underflow, denormal\n", 
           _status87() );

   // Clear user 8087: 
   _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 türü desteği

_clear87, _clearfp

_control87, _controlfp, __control87_2