Bildirim
double frexp(double arg, int *exp);
float frexpf(float arg, int *exp); (C99)
long double frexpl(long double arg, int *exp); (C99)
Açıklama
Kendisine geçirilen arg parametresini iki bölüme ayırarak ondalık kısmını geri döndürür, 2'lik sayı üs değerini ise exp parametresine atar.
Sonuç => x = Ondalık değer * 2exp
Parametreler
arg: Float bir değerdir.
exp: Üstel değerin atandığı int bir değerdir.
Dönüş değeri
Eğer bir hata meydana gelmezse, arg parametresinin ondalık değer kısmı geri döndürülür.
Örnek
#include <stdio.h>
#include <math.h>
int main(void) {
double arg=4.00, result;
int exp;
result = frexp (arg , &exp);
printf ("%.2f = %.2f * 2^%d", arg, result, exp);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
4.00 = 0.50 * 2^3
Yukarıdaki program, frexp() fonksiyonu ile float bir değişken değeri iki kısma ayırarak sonucu ekrana yazar.