FREXP(3) Linux Programmer's Manual FREXP(3)[top]NAMEfrexp, frexpf,frexpl- convert floating-point number to fractional and integral componentsSYNOPSIS#include <math.h> double frexp(double x, int *exp); float frexpf(float x, int *exp); long double frexpl(long double x, int *exp); Link withFeature Test Macro Requirements for glibc (see feature_test_macros(7)): frexpf(), frexpl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99-lm.DESCRIPTIONThe frexp() function is used to split the number x into a normalized fraction and an exponent which is stored in exp.RETURN VALUEThe frexp() function returns the normalized fraction. If the argument x is not zero, the normalized fraction is x times a power of two, and its absolute value is always in the range 1/2 (inclusive) to 1 (exclu‐ sive), that is, [0.5,1). If x is zero, then the normalized fraction is zero and zero is stored in exp. If x is a NaN, a NaN is returned, and the value of *exp is unspecified. If x is positive infinity (negative infinity), positive infinity (nega‐ tive infinity) is returned, and the value of *exp is unspecified.ERRORSNo errors occur.CONFORMING TOC99, POSIX.1-2001. The variant returning double also conforms to SVr4, 4.3BSD, C89.EXAMPLEThe program below produces results such as the following: $ ./a.out 2560 frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560 $ ./a.outfrexp(-4, &e) = -0.5:-4* 2^3 =-0.5Program source #include <math.h> #include <float.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double x, r; int exp; x = strtod(argv[1], NULL); r = frexp(x, &exp); printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, FLT_RADIX, exp, x); exit(EXIT_SUCCESS); } /* main */-4SEE ALSOldexp(3), modf(3)COLOPHONThis page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2008-10-29 FREXP(3)

List of man pages available for

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]

Polar

Member of Polar

Based on Fawad Halim's script.

....................................................................

Vote for polarhome |