|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
原帖由 老伙计2008 于 2010-1-2 00:33 发表
在我这里还是 Long更快些
er......结论是对的,不过证明过程是错误的。
你的代码只不过证明了 把long变量赋值给long变量
要比 把long变量赋值给integer变量 更快
这。。。。。。
正确的做法如下:
Sub 按钮1_Click()
Dim i As Long
Dim t
Dim IntSUm As Integer, Int1 As Integer, Int2 As Integer
Dim LongSum As Long, Long1 As Long, Long2 As Long
[b1] = ""
[b2] = ""
Int1 = 1
Int2 = 1
t = Timer
For i = 1 To 100000000
IntSUm = Int1 + Int2
Next
[b1] = Timer - t
Long1 = 1
Long2 = 1
t = Timer
For i = 1 To 100000000
LongSum = Long1 + Long2
Next
[b2] = Timer - t
End Sub
附带一提:加法表达式中的任何一个变量换成其他类型,都会影响速度,因为涉及类型转换,所以必须三个变量都是同一类型。
通常情况下,表达式当中会有常数,而且变量类型几乎肯定是不同的,那么就不一定是Long最快了
这也是我在上面说,有时候用Double去存储整数的原因。
你可以自己试试看不同组合,累死。。。。。。
[ 本帖最后由 灰袍法师 于 2010-1-2 01:29 编辑 ] |
|