ひさびさ
久しぶりにCのプログラムを書いた……
「ハードウェアはソフトウェアよりも乗除算が速い」
らしいので、まずはソフトウェアで実験。
つーか、argv[]とかってなんだっけってなった……
やばいなぁ……
#includeint main(int argc, char **argv){
int dividend;
int divisor;
double answer;int i=0;
dividend = atoi(argv[1]);
divisor = atoi(argv[2]);if(argc >= 4){
printf("ERROR:There are many arguments.\n");
}
else if(divisor == 0){
printf("ERROR:divisor is %d!!\n",divisor);
}
else{
answer = (double)dividend / (double)divisor;
printf("%lf / %lf = %lf\n",(double)dividend,(double)divisor,answer);
}
return (0);
}
結果。
…1ms。
××××@******:~/home/test/residue$ time ./a.out 987654321 123456
987654321.000000 / 123456.000000 = 8000.051200real 0m0.001s
user 0m0.000s
sys 0m0.000s
有効数字に問題があると思うんだが……orz