如何实现C高精度乘法??

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:09:57
不要只给代码,要给算法解释或流程图

#include <iostream>
#include "list1.h"
#define MAX 100

using namespace std;

int main()
{
char Array_One[MAX],Array_Two[MAX];
int Array_One_len,Array_Two_len;
cin.getline(Array_One,MAX,'\n');
cin.getline(Array_Two,MAX,'\n');
Array_One_len = strlen(Array_One);
Array_Two_len = strlen(Array_Two);
int i = 0;
do {
Array_One[i++] -= 48;
} while(Array_One[i] != 0);
i = 0;
do {
Array_Two[i++] -= 48;
} while(Array_Two[i] != 0);//转化为整形
int a = --Array_One_len;
list Temp_First;
Temp_First.initialze(Array_One[a],Array_Two);//两次相乘之和放入此表
a--;
while (a >= 0)
{
list Temp_Second;
Temp_Second.initialze(Array_One[a],Array_Two);//两次相乘之和放入此表
a--;
Temp_First += Temp_Second;//在加中实现移位相加,尚未定义
}
Temp_First.Show();
return 0;
}
在模拟相加的时候,数组或者链表的临时存储结构都可以省略,也就是可以在初始化是直接将结果放入最终存储结果的数组或者链表,不过