c++数据结构顺序表小问题

#include
#include
#include "longint.h"
using namespace std;

int main()
{
string a, b;
int ai[MaxSize],bi[MaxSize];
cout << "输入第一个数" << endl;
cin >> a;
cout << "输入第二个数" << endl;
cin >> b;
int L1 = a.size();
int L2 = b.size();
for (int i = 0; i < L1; i++)
{
ai[i] = a[i]-48; //设么意思?
}
for (int i = 0; i < L2; i++)
{
bi[i] = b[i]-48;//为什么要-48?
}
longint A(ai, L1), B(bi, L2);
longint C;
C=Add(A,B);
cout << "结果:" << endl;
C.PrintList();
return 0;
}
这是主函数

大数四则运算的思路就是用字符串模拟人竖式计算的方式计算,结果放入数组。所以需要把字符形式的数字和真正的数字相互转换。

ai[i] = a[i]-48; //设么意思?
将字符转换成对应的数字,因为48是ascii的0,往后49='1', 50='2' ...

你里面放的字符啊啊,不是真正的数啊