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



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







2017年1月25日水曜日

Linux上でC言語の株の利益のプログラムを実行

久しぶりにLinuxでC言語のプログラムを作り、コンパイルし、実行してみた。



gccは入っていると思うので、下記を実行。



sudo apt-get install libc6-dev



下枠のプログラムをテキストエディターにタイピング(コピー&ペースト)し、/home/userディレクトリーにkabu01.cという名前で保存。



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

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



Linux端末で次を実行



$ gcc kabu01.c -o kabu01.out



次にLinux端末で次を実行



$ ./kabu01.out



結果がLinux端末に表示されます。結構簡単です。



2017年1月21日土曜日

人工知能とシンギュラリティ

ニューロコンピューターが自動学習する新しいタイプの人口知能が作られる様になり、未来に人類の進化が特異点(成長曲線が無限大になる点)に到達することが現実味をおびて来ている。



しかし、コンピューターが政治に介入したり、会社のトップをニューロコンピューターに肩代わりさせる事はまずないと思う。



だから、人間が完全にコンピューターに支配される事は人間の選択肢にはなりえないと思う。



あくまでも、コンピューターは人間の支配下に使われる道具に過ぎないし、人間であっても、コンピューターであっても、知性が優れているからといって世の中を支配出来ないのと同じ事だと思う。



だから、一部のSF映画の様にコンピューターに地球が乗っ取られる様な事は人間が承認しない限りありえないと思う。



問題は人間がコンピューターに完全に不当に好まざるべき支配をされる道を選んでしまった場合である。



そんな事(人間がコンピューターに完全に不当に好まざるべき支配をされる道を選んでしまう事)が起きたならば、本当の地獄が待っていると思う・・・。



シンギュラリティ