scalblnf
in C is used to multiply a floating-point value by FLT_RADIX
raised to a user-specified value. scalblnf
is defined in the math.h
header file and the function declaration is as follows:
float scalblnf(float arg, long exp);
FLT_RADIX
is an integer constant defined in<float.h>
. Its value is2
for most binary systems.
arg
: floating-point value
exp
: long value
No errors:
Range error due to underflow: Correct result after rounding
Range error due to overflow: ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL
Errors are recorded according to the macro constant math_errhandling. Some special cases are handled as follows:
arg
is , then unmodified arg
is returnedarg
is ±, then unmodified arg
is returnedexp
is , then unmodified arg
is returnedarg
is NaN, then NaN is returned#include <stdio.h>#include <math.h>#include <errno.h>int main(){printf("scalblnf(3.0, 2) = %f\n", scalblnf(3.0, 2));printf("scalblnf(5.0, -3) = %f\n", scalblnf(5.0,-3));printf("scalblnf(7.0, 0) = %f\n", scalblnf(7.0, 0));return 0;}
First, we import the math.h
header file from the C standard library. The program then prints the output of scalblnf
on possible example values.
scalbn
,scalbnf
,scalbnl
,scalbln
, andscalblnl
perform the same function asscalblnf
but differ in the data types ofexp
and return value.