我觉得是 VB在处理 运算符优先顺序 的存在问题。
vb6 在分析这个 2 ^ -2 ^ -2 可能出现了某种问题造成了寄存器溢出。所以答案是使终是 .840896415253715 
个人意见!

解决方案 »

  1.   

    2^-2^-2
    顺序是
        -2
      -2
     2
    先计算-(2的-2次方)
    然后再计算2的-0.25次方
    然后......
      

  2.   

    2^-2^-2
    =2^(-2^(-2))
    =2^(-0.5^2)
    =2^(-0.25)
    =0.5^0.25
    =0.84089641525371454303112547623321
      

  3.   

    是vb编译器不知道中间的那个负号是作用在哪的。
    所以你在后面把那个负号用括号明确了以后,就对了。
      

  4.   

    这是因为vb理解成:
    2^-(2^-2)
    而不是
    (2^-2)^-2
      

  5.   

    我现在编写了一个表达式解析程序,按照我的算法2^-2^-2=16。我是否有必要改变算法让他与VB一致?换句话说通常2^-2^-2在数学上究竟应当怎样理解?