📄 ldexp.c
字号:
/****************************************************************************/
/* ldexp v2.54 */
/* Copyright (c) 1995-2004 Texas Instruments Incorporated */
/****************************************************************************/
#include <math.h>
#include <errno.h>
double ldexp(double x, int exp)
{
int *ptr = (int *) &x;
int texp = exp + ((*ptr >> 20) & 0x7FF);
/***********************************************************************/
/* IF RESULT UNDERFLOWS, RETURN 0.0. IF RESULT OVERFLOWS, RETURN */
/* +- INFINITY. */
/***********************************************************************/
if (texp < 1) return 0.0;
if (texp > 0x7FF) { errno = ERANGE; return (x < 0) ? -HUGE_VAL:HUGE_VAL;}
*ptr = (*ptr & 0x800FFFFF) | ((texp << 20) & (0x7FF << 20));
return x;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -