Bildirim
fpclassify(arg); (Makro) (C99)
Açıklama
Kendisine geçirilen float parametre değerini sınıflandırarak FP_NAN, FP_NORMAL, FP_INFINITE (FP_NAN | FP_NORMAL), FP_ZERO ve FP_SUBNORMAL (FP_NORMAL | FP_ZERO) makrolarından birine karşılık gelen ve float değerin sınıfını gösteren int bir değer geri döndürür.
Parametreler
arg: Float bir değerdir.
Dönüş değeri
Parametrenin sınıfını gösteren FP_NAN, FP_NORMAL, FP_INFINITE (FP_NAN | FP_NORMAL), FP_ZERO ve FP_SUBNORMAL (FP_NORMAL | FP_ZERO) makrolardan biri geri döndürülür.
Örnek
#include <stdio.h>
#include <math.h>
void Classify_Var(double var);
int main(void)
{
double dd1=7.74, dd2=0.00/65.25, dd3=32.46/0;
Classify_Var(dd1);
Classify_Var(dd2);
Classify_Var(dd3);
return 0;
}
void Classify_Var(double var)
{
int result;
result = fpclassify(var);
printf("Değişken değeri: ");
switch (result) {
case FP_NAN: printf ("NaN"); break;
case FP_NORMAL: printf ("Normal"); break;
case FP_INFINITE: printf ("Sonsuz"); break; /* FP_NAN | FP_NORMAL */
case FP_ZERO: printf ("Sıfır"); break;
case FP_SUBNORMAL: printf ("Subnormal"); break; /* FP_NORMAL | FP_ZERO */
}
printf("\n");
}
Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:
Değişken değeri: Normal Değişken değeri: Sıfır Değişken değeri: Sonsuz
Yukarıdaki program, fpclassify() fonksiyonu ile 3 değişken değeri kullanarak yaptığı işlem sonuçlarını ekrana yazar.