回复 7楼 wmf2014 :
VB 中计算“负数的二分之一次方怎么表示”,与算术中计算“负数的二分之一次方怎么表示”是不一样的
VB 中计算时需要考虑优先级,X = -8 ^ (1 / 2),在计算时首先计算的是 1 / 2 ,那么结果是 X = -8 ^ 0.5,最后得到结果 X = -2.82842712474619(在vb中已经测试)
而不是首先 X = -8 ^ 1,然后再
X = Sqr(-8),而
X = -8 ^ 0.5 是在 VB 中可以计算的。
算术中计算时一般首先 X = -8 ^ 1,然后再
X = Sqr(-8),需要使用平方根的方式计算,因此会出现错误。
由于楼主的问题是 “vb中负数的三分之一次方怎么表示” ,前提是在 VB 中,因此我们讨论的是 VB 中,没有考虑算术计算。
其实你说的也是道理的,而是考虑问题的前提不太一样而已。
在 VB 中,计算负数的幂次方数,首先计算的是幂次方数的表达式,这个表达式的返回值可能是整数、长整数、单精度数、双精度数、字节数,唯一不可能的是分数(VB中没有分数的数据类型),因此是可以计算负数的幂次方数的。
而算术中,计算某负数的幂次方数,无法对小数进行幂次方计算,因此首先将小数转换为一个既约分数,然后首先对它进行分子的幂次方计算,
再进行分母的方根计算,这样如果分母是偶数将不可能计算,因为负数不可能开偶次方,如果分母是奇数,也是可以计算的,因为负数可以开奇次方。
[此贴子已经被作者于2018-9-7 08:07编辑过]