APr*_*mer 18
在 <math.h>
double frexp (double value, int *exp)
Run Code Online (Sandbox Code Playgroud)
在指数和尾数中分解VALUE.
double ldexp (double value, int exp)
Run Code Online (Sandbox Code Playgroud)
反过来.
要获得一个整数值,必须将frexp的结果乘以FLT_RADIX指数DBL_MANT_DIG(可以使用它们<float.h>.要将它存储在整数变量中,您还需要找到一个足够的类型(通常是64位类型)
如果你想处理一些实现提供的128位长双,你需要C99 frexpl进行拆分,然后你可能没有足够的整数类型来存储完整的结果.