2017年1月26日木曜日

C言語で株の利益、より高い精度で

C言語で株の利益を計算する時ある程度の誤差がでます。



そこでより高い精度で計算するためにプログラムのfloatをdoubleに変えて計算してみました。



float型で表現できるのは、±10-38~1038の範囲で、有効桁は7桁です。
double型では、±10-308~10308の範囲で、有効桁は15桁です。



/*  while 文を使って株の利益を計算するプログラムを作ってみた。DAYトレーディングで1日に合計金額の1%の利益があるものとして100万円の元金が464営業日目に1億円を上回るとゆう計算結果が出た。*/
#include  <stdio.h>

int main(void)
{
    int  day=1;
    double  money=100.0;
    while  (money<10000.0)  {
        printf("%d日目の合計=%f万円\n",day,money);
        day++;
        money=(double)1.01*money;
    }
    return 0;
}
/* このプログラムを実行すると463日目に合計金額が約9919万1552円になることが判る。 */



計算結果は次の様になります。







0 件のコメント: