What is scalblnf in C?
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_RADIXis an integer constant defined in<float.h>. Its value is2for most binary systems.
Parameters
arg: floating-point value
exp: long value
Return value
-
No errors:
-
Range error due to underflow: Correct result after rounding
-
Range error due to overflow: ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL
Error handling
Errors are recorded according to the macro constant math_errhandling. Some special cases are handled as follows:
- If
argis , then unmodifiedargis returned - If
argis ±, then unmodifiedargis returned - If
expis , then unmodifiedargis returned - If
argis NaN, then NaN is returned
Example
#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;}
Explanation
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, andscalblnlperform the same function asscalblnfbut differ in the data types ofexpand return value.
Free Resources