frexp - Online Linux Manual PageSection : 3
Updated : 2023-02-05
Source : Linux man-pages 6.03

NAMEfrexp, frexpf, frexpl − convert floating-point number to fractional and integral components

LIBRARYMath library (libm, −lm)

SYNOPSIS#include <math.h>double frexp(double x, int *exp); float frexpf(float x, int *exp); long double frexpl(long double x, int *exp);Feature Test Macro Requirements for glibc (see feature_test_macros(7)): frexpf(), frexpl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTIONThese functions are used to split the number x into a normalized fraction and an exponent which is stored in exp.

RETURN VALUEThese functions return 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 (exclusive), 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 (negative infinity) is returned, and the value of *exp is unspecified.

ERRORSNo errors occur.

ATTRIBUTESFor an explanation of the terms used in this section, see attributes(7). InterfaceAttributeValue frexp(), frexpf(), frexpl() Thread safetyMT-Safe

STANDARDSC99, POSIX.1-2001, POSIX.1-2008. The variant returning double also conforms to SVr4, 4.3BSD.

EXAMPLESThe program below produces results such as the following: $ ./a.out 2560 frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560 $ ./a.out −4 frexp(−4, &e) = −0.5: −0.5 * 2^3 = −4

Program source#include <float.h> #include <math.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); }

SEE ALSOldexp(3), modf(3)
0
Johanes Gumabo
Data Size   :   10,524 byte
man-frexp.3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 203,593
Visitor ID   :     :  
Visitor IP   :   18.223.108.134   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.