Длинная арифметика

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Длинная арифметика.doc

— 185.50 Кб (Скачать)

// 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:\t"<<D<<endl;

// cout<<"A.Size:"<<C.Size<<"\tB.Size:"<<E.Size<<endl; 

      _getch();

      return 0;

      }

Информация о работе Длинная арифметика