BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <fenv.h> (C99) > fetestexcept

fetestexcept() fonksiyonu

Bildirim

int fetestexcept(int excepts); (C99)

Açıklama

Float değer ortam değerlerinin hangisinin devrede olduğunu belirler.

Parametreler

excepts: Test edilecek istisna değerlerini gösterir.

Dönüş değeri

Devrede olan tüm istisna değerlerini içeren int bir değer geri döndürür.

Örnek


#include <stdio.h>
#include <stdlib.h>
#include <fenv.h>

void Test_Except(int idsonuc);

int main(void) {
    div_t dv;
    float fd1=36.54, fd2=9.63;

    feclearexcept (FE_ALL_EXCEPT);
    dv = div(fd1, fd2);

    Test_Except(fetestexcept(FE_ALL_EXCEPT));

    return 0;
}

void Test_Except(int idsonuc)
{
  printf("İşlem hata bildirimi:");

  if (idsonuc==0) printf(" Yok");                     //  0 (0x00)
  if (idsonuc==FE_INVALID) printf(" FE_INVALID");     //  1 (0x01)
  if (idsonuc==FE_DENORMAL) printf(" FE_DENORMAL");   //  2 (0x02)
  if (idsonuc==FE_DIVBYZERO) printf(" FE_DIVBYZERO"); //  4 (0x04)
  if (idsonuc==FE_OVERFLOW) printf(" FE_OVERFLOW");   //  8 (0x08)
  if (idsonuc==FE_UNDERFLOW) printf(" FE_UNDERFLOW"); // 16 (0x10)
  if (idsonuc==FE_INEXACT) printf(" FE_INEXACT");     // 32 (0x20)

  printf("\n");
}

Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:

İşlem hata bildirimi: FE_INEXACT

Yukarıdaki program, tüm istisnaları temizledikten sonra int değerlerle çağrılan div() fonksiyonunun oluşturduğu hatayı fetestexcept() fonksiyonu ile ekrana yazar.