ノート:MSX-BASIC
表示
浮動小数点について
[編集]この記事、全く出典がありませんね。私の方でも探してみたいとは思いますが、出典の明記をお願いいたします。
さて、この編集ですが、もし本当にBCDで表現されているのなら「誤差がない」と言っても問題ないと思います。
この表現(十進型)は通過型とも呼ばれ、DBなどでも誤差のでない数値表現として使用されているからです。それから、続く「ただしMSX自体が当時の競合他機種と比較しても高速ではなかったこともあり、雑誌の投稿プログラムでは行頭ですべての変数に整数型を使うよう宣言されることが多かった。」の部分ですが、独自研究だと思われるのでコメントアウトさせてもらいました。
確かに当時のMSX・FANなどに投稿されているプログラムは大体冒頭で「DEFINTA-Z
」が宣言されていましたが、整数型を使用することによる効率化と言うよりは、むしろ文字数削減のためであったと思います。整数型を使いたいだけならA%
とでも入力すればいいわけで、効率化を理由にしてすべての変数を整数型にする必要はないでしょう。一方、文字数の削減については、「DEFINTA-Z
」にコロンをつけて10文字ですから、整数型の変数を10回使用すれば元が取れます。整数型の変数を10回以上使わないプログラムはまれですから、ほとんどの場合に効果的でしょう。
ただ、出典がない以上はどのみち独自研究にしかなりません。そのため、今回はコメントアウトとしました。--以上の署名のないコメントは、LEFR(会話・投稿記録)さんが 2012年12月30日 01:29(UTC) に投稿したものです(志賀 慶一(会話)による付記)。
- これですが、DEFINT A-Z は処理速度向上が目的となります。単に FOR I=1 TO 10 とかする場合でも、この時に使われている変数 I が浮動小数型として扱われる状態になりました。DEFINT A-Z とする事で変数 I が整数型で扱われます。これによりメモリの扱いが縮小し、処理が単純化するため、結果として処理速度の向上となる仕組みです。本誌(ムック誌)ではこのような解説が明確にあったのですが、ネット上では今のところ明確な解説が見つからないので、出典付で出すのは現状できない状態ですね…… --志賀 慶一(会話) 2013年10月26日 (土) 05:38 (UTC)