トップページ > プログラム > 2016年04月04日 > JdB6FWMO

書き込み順位&時間帯一覧

33 位/206 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010102



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
607 :デフォルトの名無しさん[sage]:2016/04/04(月) 20:55:31.45 ID:JdB6FWMO
すみません、どこまで書き出せばいいのかわからないので、
足りなければ教えてください。

分数で表すと、205/65536のつもりでこう書いたのですが、書き方はあってますでしょうか?

ransu = Int(Rnd * 65536)
If ransu < 205 Then
'ransuが205より小さかった時の処理

Endif

乱数発生1兆回させて、205より小さい数を引いた数を数えると、
204.5/65536位の数字になってしまいます。。

ransu = Int(Rnd * 65536)で、発生する可能性のある数字は0-65535の範囲で65536個、
If ransu < 205 Thenで、は205より小さいなので0-204の範囲で205個。

これで、205/65536になるかと思うのですが、
何か違う部分があれば教えてください。
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
611 :デフォルトの名無しさん[sage]:2016/04/04(月) 22:23:43.94 ID:JdB6FWMO
>>608
>>610
レスありがとうございます。

という事は、Rndが完璧に理想的な乱数であったと仮定すると、
書き方自体には問題がないということでしょうか。

VBAの範囲だと、あとは試行回数を増やしたり位しかないんでしょうか。
実の所1兆回をワンセットに、10兆回まではやってみたのですが、
各1兆回も、10兆回全部も、大体、204.5/65536位になっちゃうんですよねぇ。。(分子がプラスマイナス0.05位の狭い範囲)

205/65536が204.5/65536であったら、「もう絶対に使えない!」って程ではないのですが、
この辺が、VBAの限界なんでしょうか・・。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。