高精度乘法:两个正整数进行高精度乘法计算的一般算法如下:
⑴将第一个整数各位上的数字按照从低位到高位的顺序依次存入数组a(1)、a(2)、…a(La)中,将另一个整数各位上的数字按照从低位到高位的顺序依次存入数组b(1)、b(2)、…、b(Lb)中。其中,La表示第一个整数的位数,Lb表示第二个整数的位数;
⑵按照从低位到高位的顺序,将两个整数各位数值进行逐位乘法计算(第一轮先让b(1)依次乘以a(1)、a(2)、…、a(La),第二轮再让b(2)依次乘以a(1)、a(2)、…a(La),依次进行),每位的乘法结果也按照低位到高位的顺序依次存入数组ans(1)、ans(2)、ans(3)…中;
⑶对数组ans中的计算结果进行从低位到高位的进位处理;
⑷统计数组ans中实际计算结果的有效数值位数,并将位数值存入变量 length;
⑸按照高位到低位的顺序输出数组ans中的计算结果。
张老师设计了两个正整数进行高精度乘法计算的VB程序,功能如下:在文本框 Text1和Text2中依次输入两个整数,单击“计算”按钮 Command1,程序进行高精度乘法计算,并在标签 Label4中输出计算结果。下面信息显示了进行高精度乘法计算的主要过程(假设输入的两个整数分别为“123”和“45”):
程序运行效果如图所示。