さかもとのブログ

つらつらと

乗算命令と加算命令

どっちのほうが早いんだっけと思い,

#include<time.h>
#include<stdio.h>


int main(void) {
    int i;
    int n = 0;
    clock_t start_time;
    clock_t end_time;

    printf("CLOCKS_PER_SEC = %f\n", (double)CLOCKS_PER_SEC);

    start_time = clock();
    for (i = 0; i < 100000000; i++) {
      n *= n;
    }
    end_time = clock();
    printf("MULTIPLY:time = %10.10f\n", (double)end_time - start_time);

    start_time = clock();
    for (i = 0; i < 100000000; i++) {
      n += n;
    }
    end_time = clock();
    printf("ADD:time = %10.10f\n", (double)end_time - start_time);
}
MULTIPUL:time = 440000.0000000000
ADD:time = 290000.0000000000

やっぱり乗算のほうが遅い.
基本基本...