Mr Nobody
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору gnu, я написал программу. которая, как мне кажется, измеряет время умножений Цитата: #include <stdlib.h> #include <stdio.h> #include <time.h> const int TIMES = 100000000; int main() { double num_dbl_0, num_dbl_1, res_dlb = .0; int num_int_0, num_int_1, res_num = 0; clock_t start, end; int ii, jj; srand((unsigned)time(NULL)); num_dbl_0 = rand()/100.0; num_dbl_1 = rand()/100.0; num_int_0 = rand()%100; num_int_1 = rand()%100; //Float multiplaing start = clock(); for(ii = 0; ii < TIMES; ii++) res_num = num_dbl_0*num_dbl_1; end = clock(); printf("Float multiplaing: %lf sec.\n\n", (double)(end - start) / CLOCKS_PER_SEC); //Integert multiplaing start = clock(); for(ii = 0; ii < TIMES; ii++) res_dlb = num_int_0*num_int_1; end = clock(); printf("Integer multiplaing: %lf sec.\n\n", (double)(end - start) / CLOCKS_PER_SEC); return 0; } | Вот у меня она показывает, что умножение с плавающей точкой 3.781 сек. присходит более быстро, чем целочисленное 3.89 сек.!!! У меня двухядерный Pentium D, 3.0 GHz. | Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 19:13 24-10-2007 | Исправлено: Mr Nobody, 21:29 24-10-2007 |
|