社区
C语言
帖子详情
关于标准数学函数pow的问题
hupo1982
2007-06-08 03:36:48
今天才发现用标准数学函数pow求幂的时候有一个限制,就是底数为负数的时候指数必须为整数,那如果我想计算(-3125)^0.2 = 5该怎么算呢?是有什么扩展的数学函数库还是怎么算?
还发现Wnidows自带的计算器也不能算这个,网上很多下载的计算器也不能算,google和baidu的计算器倒是能算,搜狗的也算不了,真是昏倒!
...全文
434
15
打赏
收藏
关于标准数学函数pow的问题
今天才发现用标准数学函数pow求幂的时候有一个限制,就是底数为负数的时候指数必须为整数,那如果我想计算(-3125)^0.2 = 5该怎么算呢?是有什么扩展的数学函数库还是怎么算? 还发现Wnidows自带的计算器也不能算这个,网上很多下载的计算器也不能算,google和baidu的计算器倒是能算,搜狗的也算不了,真是昏倒!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zlj1202
2007-06-15
打赏
举报
回复
严谨 是靠自己解决的
mLee79
2007-06-08
打赏
举报
回复
偶觉得这东东还是用复数计算比较方便
-3125^.2 == (3125*e^((2*n+1)PI*i))^.2 = 5*e^((2*n+1)*.2*PI*i)
一共获得5个解, 其中只有一个实数 -5 , 其它的4个是复数 ...
jixingzhong
2007-06-08
打赏
举报
回复
int n=pow(3125, 0.2);
然后根据符号: n = -n; 就得到结果 5 了 ....
jixingzhong
2007-06-08
打赏
举报
回复
恩,看岔了 ...
可以这样,
自己先判断一下 结果是否在实数域内,
如果是,判断一下结果的符号,
然后对数据的 绝对值 进行 0.2 次方即可。
晨星
2007-06-08
打赏
举报
回复
jixingzhong(瞌睡虫·星辰) ( ) 信誉:100 Blog 加为好友 2007-06-08 17:45:45 得分: 0
(-3125)^0.2
这个在数学上就是不对的吧??
=========================
如果你把0.2看作“五分之一”,倒不能说不对。
主要问题就在于计算机里的浮点数不可能去精确地对应数学上的分数。
jixingzhong
2007-06-08
打赏
举报
回复
(-3125)^0.2
这个在数学上就是不对的吧??
wj_fantasy
2007-06-08
打赏
举报
回复
开方运算本来就不能用负数的,那样的话结果就是虚数了。
huashizhixin
2007-06-08
打赏
举报
回复
换更高版本的编译器,用更高位数的cpu,这不是计算机的问题,呵呵
lightnut
2007-06-08
打赏
举报
回复
用C++的complex版本吧, 不过算出来的是复数主值, 楼主想要的实数.
正如steedhorse(晨星) 所言, 这是个数学问题
晨星
2007-06-08
打赏
举报
回复
再说,计算机里的浮点数也不见得总是能非常精确的代表一个分数。
比如,对于分数,1/7来说,x ^ (1 / 7)在负数域上本来是有定义的。但如果你写:
float f = 1 / 7.0;
CPU当然无法判断出这个f本来是从一个分母是奇数的整数算式上算出来的。
mLee79
2007-06-08
打赏
举报
回复
这东西在实数域下本来就没办法算嘛, 过程要用复数计算的三,结果是这样也很正常三
晨星
2007-06-08
打赏
举报
回复
当指数不为整数时,并非所有幂函数的定义域都是整个实数域。
比如:函数x ^ (1/2)的定义域就不包括负数。
这是个数学问题,不是计算机问题。
hupo1982
2007-06-08
打赏
举报
回复
有没有严谨一点的方法,毕竟这种运算确实有很多是非法的,比如(-25)^0.5在实数范围内就是非法的
todototry
2007-06-08
打赏
举报
回复
up之
www_adintr_com
2007-06-08
打赏
举报
回复
先算 (3125)^0.2, 在结果上面在加一个负号就完了
C/C++
标准
库源代码
8. **
数学
和浮点运算**:包括基础的
数学
函数
(如`sin`, `cos`, `
pow
`)和浮点数处理(如`sqrt`, `log`, `exp`)。 深入研究这些源代码,可以让我们更好地了解底层细节,提高解决
问题
的能力,并有助于在实际开发中...
C语言库
函数
使用大全(PDF)
math.h库包含了
数学
运算相关的
函数
,如sqrt()用于计算平方根,
pow
()进行幂运算,sin()和cos()用于三角
函数
计算,exp()计算指数值。这些
函数
极大地扩展了C语言在
数学
计算方面的功能。 四、其他库
函数
除了以上所述,...
C语言实战105例
10. **
标准
库
函数
**:例如字符串操作(strcat, strcmp等)、
数学
函数
(sqrt,
pow
等)、输入输出
函数
(scanf, printf等)的使用。 通过《C语言实战105例》,学习者可以逐步掌握C语言的编程思维和技巧,同时,实践...
C语言库
函数
速查[CHM文档]
5.
数学
运算:`sin`、`cos`、`
pow
`和`sqrt`等
函数
提供了
数学
计算功能,如三角
函数
、指数、平方根等。 6. 文件操作:`fopen`、`fclose`、`fread`、`fwrite`以及`fprintf`等
函数
,帮助开发者读写文件,进行数据存取。...
C语言中常用的
标准
数学
函数
在C语言编程中,经常用到一些
数学
函数
,我将基本的
数学
函数
整理了一下,方便大家查阅,
函数
如下:注意:使用
标准
数学
函数
时,要加入
标准
数学
函数
库,即:#include <math.h>
函数
名功能
函数
名功能sqrt(x...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章