两位数乘法运算——进制的编程
2012-03-28 11:34
387 查看
Option Base 1
Private Sub Command1_Click()
Dim M As String
Dim N As String
M = Trim(Text1.Text)
N = Trim(Text2.Text)
Dim Number1() As Byte
Dim Number2() As Byte
ReDim Number1(Len(M))
ReDim Number2(Len(N))
Dim index As Byte
For index = 1 To Len(M) Step 1
Number1(index) = Mid(M, index, 1)
Next index
For index = 1 To Len(N) Step 1
Number2(index) = Mid(N, index, 1)
Next index
Dim Result() As Byte
ReDim Result(Len(M) + Len(N))
Dim MCarry As Byte
Dim ACarry As Byte
Dim Remainder As Integer
Dim i As Integer, j As Integer
Dim Mtemp As Integer, Atemp As Integer
For i = Len(N) To 1 Step -1
For j = Len(M) To 1 Step -1
Mtemp = Number1(j) * Number2(i) + MCarry
MCarry = Mtemp \ 10
Remainder = Mtemp Mod 10
Atemp = Remainder + Result(i + j) + ACarry
ACarry = Atemp \ 10
Result(i + j) = Atemp Mod 10
Next j
Result(i) = MCarry + ACarry
MCarry = 0
ACarry = 0
Next i
Dim Mstr As String
For index = 1 To Len(N) + Len(M)
Mstr = Mstr & Str(Result(index))
Next
Label3.Caption = Mstr
End Sub
这是第三次进行乘法编程了,每次的难度都在增加。第一次是一句,很容易就完成了,第二次费了不少事才勉强弄好。而这次难度更加得大。我深刻体会到学习VB的过程中自己思考的重要性,主要是自己掌握方法,懂得怎么去进行语言的汇编,每句话,每个符号都是一个值得思考的问题。
Private Sub Command1_Click()
Dim M As String
Dim N As String
M = Trim(Text1.Text)
N = Trim(Text2.Text)
Dim Number1() As Byte
Dim Number2() As Byte
ReDim Number1(Len(M))
ReDim Number2(Len(N))
Dim index As Byte
For index = 1 To Len(M) Step 1
Number1(index) = Mid(M, index, 1)
Next index
For index = 1 To Len(N) Step 1
Number2(index) = Mid(N, index, 1)
Next index
Dim Result() As Byte
ReDim Result(Len(M) + Len(N))
Dim MCarry As Byte
Dim ACarry As Byte
Dim Remainder As Integer
Dim i As Integer, j As Integer
Dim Mtemp As Integer, Atemp As Integer
For i = Len(N) To 1 Step -1
For j = Len(M) To 1 Step -1
Mtemp = Number1(j) * Number2(i) + MCarry
MCarry = Mtemp \ 10
Remainder = Mtemp Mod 10
Atemp = Remainder + Result(i + j) + ACarry
ACarry = Atemp \ 10
Result(i + j) = Atemp Mod 10
Next j
Result(i) = MCarry + ACarry
MCarry = 0
ACarry = 0
Next i
Dim Mstr As String
For index = 1 To Len(N) + Len(M)
Mstr = Mstr & Str(Result(index))
Next
Label3.Caption = Mstr
End Sub
这是第三次进行乘法编程了,每次的难度都在增加。第一次是一句,很容易就完成了,第二次费了不少事才勉强弄好。而这次难度更加得大。我深刻体会到学习VB的过程中自己思考的重要性,主要是自己掌握方法,懂得怎么去进行语言的汇编,每句话,每个符号都是一个值得思考的问题。
相关文章推荐
- 两位或多位数乘法的计算编程
- 用分治算法编程实现两个n位十进制大整数的乘法运算
- 菜鸟学编程之二:C对矩阵进行乘法和转置运算
- 二进制乘法运算
- 百家姓128进制数的乘法运算
- 【计算机组成原理】定点乘法运算之原码两位乘法
- 两位数活多位乘法的计算编程
- 第六周作业二——编程实现矩阵乘法运算
- 编程基本功——矩阵的乘法运算
- 进制的运算(笔记借鉴编程达人)
- 华为2017年8月30日校招编程真题2-自定义的26进制和十进制之间互相转换
- 02-线性结构1 一元多项式的乘法与加法运算 -数据结构
- 计算矩阵运算的乘法次数
- 继递归递推求斐波那契后的另一种奇妙方法---矩阵乘法+快速幂运算
- 用汇编实现浮点数的乘法运算---FPU
- MMX指令集系列之二----移位运算和乘法指令
- 保留两位小数并且进行四舍入运算
- 【嵌入式Linux C编程】2018.3.8 数据类型、运算操作符、基本语句
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算