主页 > 知识库 > 用VBS精确计算2的100次方的代码

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

热门标签:前锋办理400电话申请 新密防封卡外呼系统违法吗 百度地图标注怎么卸载 办理胶州400电话财税 外呼营销下单系统 加盟电销机器人好的品牌 陕西高频外呼回拨系统哪家好 打电话的外呼系统贵不贵 海外美发店地图标注
既然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精确计算100的阶乘的实现代码

标签:梅州 四平 伊春 阜阳 河南 牡丹江 咸阳 武威

巨人网络通讯声明:本文标题《用VBS精确计算2的100次方的代码》,本文关键词  用,VBS,精确,计算,的,100,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《用VBS精确计算2的100次方的代码》相关的同类信息!
  • 本页收集关于用VBS精确计算2的100次方的代码的相关信息资讯供网民参考!
  • 推荐文章