作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
遇到此错误问题。我正在创建一个 GA,循环是将我的适应度值分配给一个数组。
一些变量
Dim Chromolength as integer
Chromolength = varchromolength * aVariables
Dim i as integer, j as integer, counter as integer
Dim Poparr() As Integer
Dim FitValarr() As Integer
代码:
ReDim Poparr(1 To PopSize, 1 To Chromolength)
For i = 1 To PopSize
For j = 1 To Chromolength
If Rnd < 0.5 Then
Poparr(i, j) = 0
Else
Poparr(i, j) = 1
End If
Next j
Next i
For i = 1 To PopSize
j = 1
counter = Chromolength
Do While counter > 0
FitValarr(i) = FitValarr(i) + Poparr(i, counter) * 2 ^ (j - 1)
j = j + 1
counter = counter - 1
Loop
Next i
我遇到的问题是:
FitValarr(i) = FitValarr(i) + Poparr(i, counter) * 2 ^ (j - 1)
抱歉,我对 VBA 还很陌生。
最佳答案
当您创建的整数表达式的计算结果大于 16 位有符号整数所能表示的值时,就会出现溢出情况。给定表达式,FitValarr(i) 的内容或表达式 2^(j-1) 可能会溢出。建议将目前声明为 Int 的所有变量更改为 Long。长整数是 32 位有符号值,并提供相应更大范围的可能值。
关于VBA 宏运行时错误 6 : overflow- coding inside a loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588485/
我是一名优秀的程序员,十分优秀!