HSPで大きな乱数を発生させる その2 実数乱数で確率を出す


2018年 11月 1日
 
 
 前回 HSPの rnd関数では 32768までの乱数しかでないので、どうやってそれ以上の乱数を出すかやりました、その続きです。
 
 
 実数(小数)での乱数発生を試してみたら、こちらの方が分かりやすく簡単だったので、それを使う事にした。
 
 


 
 
 #include “hspda.as” .asファイルは外部 DLLという訳では無いので HSP Dishでもたぶん問題ない。

 実数(小数点)の乱数とは 0~1の、つまり 0.000001~1.000000までの乱数で、100%が 1.0となる。

 この数に求めたい乱数の数を掛ければよい。

 つまり前回の整数乱数だと最大で 1/32768の精度だったけど、これだと最大で 1/1000000(百万)の精度になる(はずなんだけど、どういう訳かそれ以上のケタでも 1単位で乱数が出るような・・・)

 つまり 1000000以下の数であれば 1ずつの乱数を出せると言う訳だ。
 
 
 関数化(擬似命令化)してみる

 
 
 よし、ではランブ関数と名づけよう(適当)

 冗談はさておき、HSPで扱える数の最大が 2147483648なのだが、その数でやると値が -になるので、-1の 2147483647がこの方法で求められる最大乱数という事にたぶんなるだろう(確証は無い)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です