mcsino 发表于 2013-10-31 22:20:06

关于X^Y一点个人看法

有时编写宏会遇上X^Y的运算,但是系统给定运算函数有限,如果要计算此类型的函数,需要借助两个系统自带的函数,一个是自然对数函数LN(#J) ,另一个是指数函数额EXP(#J),在运用这两个函数前,我觉得主要是要区分基数X和指数Y值的符号,也就是X,Y是正数还是负数,至于是整数还是非整数应该是不用考虑的。
在计算过程中你只需要设置一个中间变量,假如#W,变换过程如下:
I)当X>0时
1) 指数Y是正数
#W=Y*LN(X);
   X^Y=EXP(#W)
2)指数Y是负数
#W=1/
X^Y=EXP(#W)
II)当x<0时
1) 指数Y是正数 (Y必须是整数)
#W=Y*LN(ABS(X));
   X^Y=EXP(#W)
2)指数Y是负数(Y必须是整数)
#W=1/{ABS(Y)*LN}
X^Y=EXP(#W)
最后,大家如果对自己的表达式不是很肯定,那么可以把一些自己知道的结果代入表达式运算来验证一下是否正确,如果要看结果,那就把结果赋给公共变量吧。
比如我们知道,2^3=8,3^3=27,8^1/3=2, 2^-1=1/2,3^-1=1/3等等

风随意 发表于 2013-10-31 22:21:02

没研究过这东西,用不上。

universal 发表于 2013-10-31 22:21:44

应该是X分正负吧,怕程序出错可以设置一些条件,处理时分支进行,具体到哪种系统还要看EXP函数是怎样计算,如果楼主没考过程序员这一步可以忽略,尽量避免不加限制用这类函数,有时返回个错误码也被调用很讨厌的。
页: [1]
查看完整版本: 关于X^Y一点个人看法