Автор: Пользователь скрыл имя, 24 Декабря 2010 в 10:28, курсовая работа
Цель моей курсовой работы заключается в реализации структур и алгоритмов для работы с «длинными» числами для последующего использования их в вычислениях. Скорость работы алгоритмов сильно зависит от выбора основания системы счисления (BASE).
Введение 3
1. Структуры, алгоритмы классических «длинных» чисел 5
1.1 Структура класса «BigInt» 6
1.2 Операции над большими числами 7
2. Структуры и алгоритмы факториальной длинной арифметики 10
2.1 Структура факториальной длинной арифметики 10
2.2 Функции и операции над числами факториальной арифметики 11
3. Сравнение систем счисления 15
3.1 Набор необходимых для сравнения инструментов 15
3.2 Сравнение систем счисления 16
Заключение 20
Список использованной литературы 21
Приложение: Class BigInt, функции для работы с классом 22
// BigInt C=FacToDec(A), E=FacToDec(B);
cout<<"Enter iterations:"; cin>>s;
BigInt
M;
time_t rawtime;
tm * ptm;
time ( &rawtime );
ptm = gmtime ( &rawtime );
time_t msec1 = time(NULL);
printf ("Start
time:\t%2d:%02d:%02d\n",
(ptm->tm_hour+4)%24, ptm->tm_min,ptm->tm_sec);
for(int i = 0; i < s; i++) {
M = A * B;
//Mul(C,E,M);
if(i) cout<<i<<endl;
}
// for(int i=0;i<5000;i++) {Mul(a,b,f);
// for(int i=0;i<5000;i++) {e=c*d;
// if(i%100 == 0) cout<<i<<endl;}
time_t msec2 = time(NULL);
time ( &rawtime );
ptm = gmtime ( &rawtime );
printf ("End time:\t%2d:%02d:%02d\n", (ptm->tm_hour+4)%24, ptm->tm_min,ptm->tm_sec);
printf("Result %d \n",(int)(msec2-msec1));
BigInt D=FacToDec(M);
cout<<"Multiplication:\
// cout<<"A.Size:"<<C.Size<<"\
_getch();
return 0;
}