vb编程出现“实时溢出”

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:47:59
Dim Y1, Y2, Y3, Y4, Y5, z(5, 5) As Double
。。。。。
z(1, 1) = l(1, 1) * l(2, 1) * m(1, 1) ^ (-q) / Y1————实时错误溢出 其中y1=790 l(1,1)=5000 ,l(1,2)=4000 ,m(1,1)=5 ,q=1.4
可是我的同学一样的公式也可以啊 能不能具体一点

我也碰到过类似问题,我教你一个解决办法,原因不详:
把z(1, 1) = l(1, 1) * l(2, 1) * m(1, 1) ^ (-q) / Y1改成多行:

z(1, 1) = l(1, 1) * l(2, 1)
z(1, 1) = z(1, 1) * m(1, 1) ^ (-q)
z(1, 1) = z(1, 1) / Y1

这样就好了!

值太大

应该是超出精度了

检查m,q,l数组定义。

把你定义的数据类型变成单精度浮点试一下
Dim Y1, Y2, Y3, Y4, Y5, z(5, 5) As single

z(1, 1) = l(1, 1) * l(2, 1) * m(1, 1) ^ (-q) / Y1