社区
C语言
帖子详情
关于标准数学函数pow的问题
hupo1982
2007-06-08 03:36:48
今天才发现用标准数学函数pow求幂的时候有一个限制,就是底数为负数的时候指数必须为整数,那如果我想计算(-3125)^0.2 = 5该怎么算呢?是有什么扩展的数学函数库还是怎么算?
还发现Wnidows自带的计算器也不能算这个,网上很多下载的计算器也不能算,google和baidu的计算器倒是能算,搜狗的也算不了,真是昏倒!
...全文
397
15
打赏
收藏
关于标准数学函数pow的问题
今天才发现用标准数学函数pow求幂的时候有一个限制,就是底数为负数的时候指数必须为整数,那如果我想计算(-3125)^0.2 = 5该怎么算呢?是有什么扩展的数学函数库还是怎么算? 还发现Wnidows自带的计算器也不能算这个,网上很多下载的计算器也不能算,google和baidu的计算器倒是能算,搜狗的也算不了,真是昏倒!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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语言编程中,经常用到一些
数学
函数
,我将基本的
数学
函数
整理了一下,方便大家查阅,
函数
如下:注意:使用
标准
数学
函数
时,要加入
标准
数学
函数
库,即:#include <math.h>
函数
名功能
函数
名功能sqrt(x...
C语言
标准
数学
函数
cpp:高效计算和科学计算的必备
函数
库
C语言
标准
数学
函数
(C standard math library)是一套用于实现高效计算和科学计算的
函数
库,提供了许多常用的
数学
函数
,包括三角
函数
、指数
函数
、对数
函数
、幂
函数
、概率分布、特殊
函数
等。首先,我们需要知道,...
C/C++
标准
库math.h中的
pow
函数
精度
问题
1.在C/C++的头文件math.h中,专门计算幂的
函数
为
pow
(),例如
pow
(x,y)计算x的y次方,其原型为: double
pow
(double x,double) 要注意的是,其输入和输出都是.../*C++:
标准
库math.h中的
pow
函数
精度
问题
*/ #inc...
python中的
pow
()
函数
解释_python中
pow
函数
用法及功能说明
幂运算是高更
数学
的应用学科,是一种关于幂的
数学
运算。...在python中就有内置
函数
pow
函数
表示幂的运算。1、
pow
()
函数
python的内置
函数
,它计算并返回x的y次方的值。2、语法
pow
(x, y, z)3、参数x -- 数值表达式...
Unity Shader
数学
函数
CG
标准
函数
库的
函数
只要分为这几类:
数学
函数
,几何
函数
,纹理映射
函数
,偏导数
函数
; 1:
数学
函数
数学
函数
用于执行
数学
上的常用计算,包括:三角
函数
,幂
函数
,向量和矩阵的操作
函数
。这些
函数
都被重载,以支持...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章