| ■7016 / ) |
Re[8]: Long型の乱数を生成する自作クラスをつくりたい |
□投稿者/ ぼのぼの (76回)-(2007/08/28(Tue) 21:43:02)
|
■No7015 (れい さん) に返信 > たとえば、 > > min=Long.MinValue > max=Long.MaxValue-1 > > の場合、1の確率が他の2倍になってます。 うーんなるほど。 正直言うと、それくらいは許容範囲かな〜と妥協しちゃってたんですよねw
他に思いつく方法としては、minとmaxにLong.MinValueを足した値をUInt64型の変数に突っ込んで、 最小値+乱数%(最大値−最小値) を求めた後Long.MinValueを差し引いてInt64型で返す、というもの。
ただ、Long.MinValueの加減をオーバーフローを発生させずに行ううまい方法が 思いつかなかったというか、それを真面目に考える気力が無かったのですよね。 #冒頭に書いた通りの状況なので、結論をいそいでない分スタンスも不真面目めです(^^;
|
|