« Linux上でC言語の株の利益のプログラムを実行 | トップページ | 下積みの必要性 »

2017年1月26日 (木)

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

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



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



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

(現実的には証券会社では円単位で計算するのでおそらくfloat型の精度で充分です。)



/*  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円になることが判る。 */



計算結果は次の様になります。(一瞬で計算出来ます。)



Screenshot_from_20170126_222438



Screenshot_from_20170126_222456



にほんブログ村 小説ブログ SF小説へ

|

« Linux上でC言語の株の利益のプログラムを実行 | トップページ | 下積みの必要性 »

C言語」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/476182/69385019

この記事へのトラックバック一覧です: C言語で株の利益、より高い精度で:

« Linux上でC言語の株の利益のプログラムを実行 | トップページ | 下積みの必要性 »