来自潘世永的问题
【请问:VB中一个负数的开方怎么表示?答案应该不是(-x)^(1/n),(当然x〉0,n是奇数)因为那样会出错。】
请问:VB中一个负数的开方怎么表示?
答案应该不是(-x)^(1/n),(当然x〉0,n是奇数)因为那样会出错。
4回答
2020-03-31 07:40
【请问:VB中一个负数的开方怎么表示?答案应该不是(-x)^(1/n),(当然x〉0,n是奇数)因为那样会出错。】
请问:VB中一个负数的开方怎么表示?
答案应该不是(-x)^(1/n),(当然x〉0,n是奇数)因为那样会出错。
你的公式是对的,但是前面用VB试了下,发现不行
再想想是这样一回事
如果负数开方的话,指数的分母必然是奇数,这样的话开出来的也必然是奇数
如果你的系统中可能出现这样的情况的话,需要事先判断下正负,如果是负数开方则取绝对值,然后在结果上取负值就可以了
负数不能开方,就是奇数也不行
负数开方就成虚数了.结果就是这个负数的相反数开方再乘以i.i就是虚数的基本单位即根号负一.
VB里负数是不能开方的
所以要处理
PrivateSubCommand1_Click()
x=-8
n=3
Ifx>0AndnMod20Then
a=x^(1/n)
Else
a=-1*((-x)^(1/n))
EndIf
Printa
EndSub