【はじめてのプチコン】固定少数点方式の実数 | りょうのゲーム塾

りょうのゲーム塾

再開、準備中。

チェックポイント
プチコンで扱う数値は固定小数点方式の実数です。
人が計算する場合その数値は固定小数点方式で表す方が一般的です。
ただし、同じ少数でも我々が計算する少数とコンピュータの少数は違うものなのです。
ここではそのことについて理解しておきましょう。


皆さん、次の計算を行った結果答えはいくつになりますか?

変数Xに0を入れておくき、変数Xに10回1を足します。
変数Xの内容はいくらでしょうか?

これをプログラムしてみます

■プログラム
0001 ' Sample program
0002 X = 0
0003 N = 10
0004 @LOOP
0005 X = X + 1
0006 N = N - 1
0007 IF N != 0 GOTO @LOOP
0008 PRINT X
0009 END


ここで変数Xに0を入れておきます。これが初期化です。
変数Nは足す回数を記憶しておきます。
10回足すので初期値として10を代入しておきます。
5行目で変数Xに1を足します。
6行目で加算回数を記憶している変数Nから1を引きます。
7行目で変数Nが0でないときはまだ10回加算していないのでラベル@LOOPへジャンプします。
変数Nが0のとき10回加算したので変数Xの内容を表示し終了します。

実際に実行してみると答えは・・・10ですよね。

では変数に0.1を10回足すとどうなるでしょうか?
サンプルプログラムを変更します。

■プログラム
0001 ' Sample program
0002 X = 0
0003 N = 10
0004 @LOOP
0005 X = X + 0.1
0006 N = N - 1
0007 IF N != 0 GOTO @LOOP
0008 PRINT X
0009 END


結果はどうでしょうか?
たぶん0.1を10回0にたしたのだから計算式は

0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1

ということで結果は1になるはずです。
実際にこのプログラムを実行したら結果はどうなるでしょうか?

つづく