سلام.
با عملیات بیتی (که هم حجم کمتری از حافظه لازمه و هم سرعت بیشتری داره) و یا استفاده از آرایه برای هر رقم (اگر با عملیات بیتی آشنایی لازم نداشته باشید استفاده از آرایه احتمالا کد نویسیش آسون تر باشه).
این نمونه یک فایل هدر هست که با استفاده از عملیات بیتی بر روی بلاک هایی از حافظه با سایز دلخواه، عملیات جمع و تفریق و ضرب و تقسیم رو برای اعداد صحیح انجام میده:
http://barnamenevis.org/showthread.php?150444-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-C-%D9%88-C&p=1649855&viewfull=1#post1649855
و یک نمونه ی کوچیک:
#include "iostream"
using namespace std;
#include "IntX.h"
int _tmain(int argc, _TCHAR* argv[])
{
INTX2048 i_a;
INTX2048 i_b;
INTX2048 i_c;
size_t sizeof_int = sizeof(i_a);
char str_a[620];
char str_b[620];
char str_c[620];
//--------------------------------------------------------------------------
while (true)
{
cin >> str_a;
cin >> str_b;
IntX_FromStrA(&i_a, sizeof_int, str_a);
IntX_FromStrA(&i_b, sizeof_int, str_b);
IntX_Mul(
&i_c,
&i_a,
&i_b, sizeof_int);
IntX_ToStrA(str_c, &i_c, sizeof_int);
cout << str_c << endl << "-----------------" << endl;
};
return 0;
};