赤崎 様
投稿有難うございます。
> TBasicで擬似的に乱数を生成するときには
> 他の言語でも広く用いられている線形合同法を用いていることと思います。
実は TBasicでは乱数は内部的に生成はしていません。Delphi のRandom 関数
を呼んでいるだけです。恐らく線形合同法とは思いますが,正確には分かりません。
> TBasicにおいてはビット演算はサポートされていないのでしょうか?
> ヘルプを熟読しましたが、そのような関数や演算子は見当たらずでした。
申し訳ありません。サポートしていません。ご存知の通り,TBasicでの数値は
浮動小数点数のみで整数型はサポートしていませんので,ビット演算は未サポート
です。
実際に2進数に対して,シフト演算を行うには,赤崎様がやっているように
> たとえば(8ビットで)C言語においての y=10, y^=y>>2 がしたかったら、
> y$="00001010", y$=Left$ (String$(2,"0")+y$,
のようにしています。
> ソースの見栄えが悪く処理速度にも難ありといった具合で
のような方法でやるしかありません。ソースの見栄えについていえば,
RShift$(N$,m) のようなFunction を定義すれば,多少は良くなりますが,
速度についてはどうしようもありません。
申し訳ありません。<m(__)m>