Bildirim
double scalbn(double arg, int exp); (C99)
float scalbnf(float arg, int exp); (C99)
long double scalbnl(long double arg, int exp); (C99)
double lscalbln(double arg, long exp); (C99)
float lscalblnf(float arg, long exp); (C99)
long double lscalblnl(long double arg, long exp); (C99)
Açıklama
Kendisine geçirilen arg parametresini FLT_RADIX değerinin exp parametre değeri (int) kadar üs değeri ile çarparak sonucu geri döndürür.
scalbn(arg, exp) = arg * FLT_RADIXexp
Parametreler
arg: Çarpan kısmını oluşturan float bir değerdir.
exp: Üstel değeri gösteren int bir değerdir.
Dönüş değeri
Eğer bir hata meydana gelmezse, arg * FLT_RADIXexp değeri geri döndürülür.
Örnek
#include <stdio.h>
#include <math.h>
#include <float.h>
int main(void)
{
double arg=3.75, result;
int exp=5;
result = scalbn(arg, exp);
printf("%.2f * %d^%d = %.2f", arg, FLT_RADIX, exp, result);
return 0;
}
Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:
3.75 * 2^5 = 120.00
Yukarıdaki program, scalbn() fonksiyonu ile elde edilen işlem sonucunu ekrana yazar.