高精度乘法–C++
模仿竖式乘法,在第一步计算的时候将进位保留,第一步计算完再处理进位。(见代码注释)
若要处理正负情况,可在数据输入后加以判断,处理比较简单。
小数计算也可参照该方法,不过对齐方式需要改变,或者改成二段计算。
#include <iostream>
#include <cstring>
#define MAXSIZE 20
#define MAXOUTSIZE MAXSIZE * 2 + 1
using namespace std;
int main()
{
char a[MAXSIZE] = {
'0'},
b[MAXSIZE] = {
'0'},
c[MAXOUTSIZE] = {
'\0'};
int a_int[MAXSIZE] = {
0},
b_int[MAXSIZE] = {
0},