脚本专栏 
首页 > 脚本专栏 > 浏览文章

用VBS精确计算2的100次方的代码

(编辑:jimmy 日期: 2024/12/26 浏览:3 次 )
既然Python可以计算2的100次方,那么我就要用VBS实现。不过这个效率嘛,计算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一个等级的,我就不多说什么了。

直接上代码:
复制代码 代码如下:
'Date: 2010/10/27
'Author: Demon
'QQ: 380401911
'E-mail: still.demon@gmail.com

begin = Timer
n = 1
For i = 1 To 100
n = multiple(n, 2)
Next
finish = Timer
WScript.Echo n
WScript.Echo finish - begin

'Grade school multiplication, Algorithm 14.12
'http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf
Function multiple(byVal x, byVal y)
Dim n, t, i, j, z, w()
n = Len(x) - 1
t = Len(y) - 1
ReDim w(n + t + 1)

x = CStr(x) : y = CStr(y)

For i = 0 To UBound(w)
w(i) = "0"
Next

For i = 0 To t
Dim c : c = 0
Dim uv : uv = 0

For j = 0 To n
uv = (w(i+j)-"0") + c + _
(Mid(x,n-j+1,1)-"0") * (Mid(y,t-i+1,1)-"0")
w(i+j) = CStr(uv Mod 10 + "0")
c = uv \ 10
Next

w(i+n+1) = CStr(uv \ 10 + "0")
Next

z = Join(w,"")
z = StrReverse(z)
Do While Left(z,1) = "0"
z = Mid(z,2)
Loop

multiple = z
End Function

原文:http://demon.tw/programming/vbs-long-multiplication.html
上一篇:vbs TLI.TLIApplication 被遗忘的COM组件
下一篇:运行同一目录下的可执行程序的VBS代码
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap