Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Gets the mantissa and exponent of a floating-point number.
doublefrexp(doublex**,int*expptr);**
Function | Required Header | Compatibility |
frexp | <math.h> | ANSI, Win 95, Win NT |
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB | Single thread static library, retail version |
LIBCMT.LIB | Multithread static library, retail version |
MSVCRT.LIB | Import library for MSVCRT.DLL, retail version |
Return Value
frexp returns the mantissa. If x is 0, the function returns 0 for both the mantissa and the exponent. There is no error return.
Parameters
x
Floating-point value
expptr
Pointer to stored integer exponent
Remarks
The frexp function breaks down the floating-point value (x) into a mantissa (m) and an exponent (n), such that the absolute value of m is greater than or equal to 0.5 and less than 1.0, and x = m*2n. The integer exponent n is stored at the location pointed to by expptr.
Example
/* FREXP.C: This program calculates frexp( 16.4, &n )
* then displays y and n.
*/
#include <math.h>
#include <stdio.h>
void main( void )
{
double x, y;
int n;
x = 16.4;
y = frexp( x, &n );
printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}
Output
frexp( 16.400000, &n ) = 0.512500, n = 5