库函数pow是如何实现的或者说如何自己写一个x的y次幂函数?

yueyucanyang 2010-07-16 09:13:03
如何求x的y次幂,x和y都是变量,例如x=2;y=3,结果为8,x=2,y=0.5,结果为1.414?
...全文
3425 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2010-07-18
  • 打赏
  • 举报
回复
楼主要学taylor展开的[Quote=引用楼主 yueyucanyang 的回复:]
如何求x的y次幂,x和y都是变量,例如x=2;y=3,结果为8,x=2,y=0.5,结果为1.414?
[/Quote]
ForestDB 2010-07-18
  • 打赏
  • 举报
回复
就是个数学问题。
yueyucanyang 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhangzhongke007 的回复:]
要求不高的话,自己编写个不难。
[/Quote]

你说的这个要求是什么要求,可否给出一定的思路。
yueyucanyang 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hai040 的回复:]
x^y=e^(ln(x)*y)
ln(x)和e^x都有公式
[/Quote]

这个还真是个思路,虽然我不想用ln(x)和e^x的标准公式,但是可以进行展开。可以试试
zhangzhongke007 2010-07-17
  • 打赏
  • 举报
回复
要求不高的话,自己编写个不难。
yueyucanyang 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sparrow081 的回复:]
楼主 怎么对标准库中最复杂的数学函数有兴趣啊?
这个函数很难写, 第一它要扩展精度; 第二它要考虑很多种情况;大部分的编写都很晦涩的
[/Quote]
我的确是需要用到的,甚至知道泰勒展开的攻公式也好。或者给出思路。
yueyucanyang 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shaozg168 的回复:]
int pow(int sum, int n)
{
int temp = sum;
for ( int i=1; i<n; i++)
{
sum *= temp;
}
}
这个就能实现,呵呵
[/Quote]

指数部分不一定是整数啊,也有可能是小数
hai040 2010-07-16
  • 打赏
  • 举报
回复
x^y=e^(ln(x)*y)
ln(x)和e^x都有公式
AlanBruce 2010-07-16
  • 打赏
  • 举报
回复
。。。。。。。
sparrow081 2010-07-16
  • 打赏
  • 举报
回复
楼主 怎么对标准库中最复杂的数学函数有兴趣啊?
这个函数很难写, 第一它要扩展精度; 第二它要考虑很多种情况;大部分的编写都很晦涩的
G_Spider 2010-07-16
  • 打赏
  • 举报
回复
请参看这篇,有源码,嘿嘿

http://topic.csdn.net/t/20041217/14/3654471.html
vanchristin 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hai040 的回复:]

x^y=e^(ln(x)*y)
ln(x)和e^x都有公式
[/Quote]

学习了,我还以为是像楼上的实现
shaozg168 2010-07-16
  • 打赏
  • 举报
回复
int pow(int sum, int n)
{
int temp = sum;
for ( int i=1; i<n; i++)
{
sum *= temp;
}
}
这个就能实现,呵呵

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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