数学函数frexp怎么用?

elemusic 2011-08-22 11:18:31
蒙了,完全搞不明白这个怎么用。给一个变量可以输出两个变量....

哪位给解释下。最好有frexp原型实现。


#include <math.h>
#include <stdio.h>

int main( void )
{
double x, y;
int n;

x = 16.4;//已知x
y = frexp( x, &n );//用完frexp后可以知道y和n......
printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}

//output
//frexp( 16.400000, &n ) = 0.512500, n = 5


...全文
238 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2011-08-22
  • 打赏
  • 举报
回复
glibc有frexp的实现,开源的

一些数学库有更nb的实现,gmp、mkl等
elemusic 2011-08-22
  • 打赏
  • 举报
回复
嗯,我可能问题没说明白.....

我的意思是,frexp,他是怎么通过给一个x进去求出y和n的......

应该是算法实现,我直接这么写好了......用我是会用的,我不明白他是怎么算,为什么这么算,以及算出来数的意义......
jackyjkchen 2011-08-22
  • 打赏
  • 举报
回复
函数名: frexp
  功 能: 把一个浮点数分解为尾数和指数
  原 型:
  double frexp( double x, int *expptr );
  float frexp( float x, int * expptr); // C++ only
  long double frexp( long double x, int * expptr ); // C++ only
  参 数:
  x : 要分解的浮点数据
  expptr : 存储指数的指针
  返回值:
  返回尾数


英文搞不明白就给中文的,这个是百度百科……
elemusic 2011-08-22
  • 打赏
  • 举报
回复
例子就是msdn的,没搞懂,您要是明白给说说呗,谢谢啦!
jackyjkchen 2011-08-22
  • 打赏
  • 举报
回复
msdn,百度谷歌

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧