C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 18 を表示中)
■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の加減をオーバーフローを発生させずに行ううまい方法が
思いつかなかったというか、それを真面目に考える気力が無かったのですよね。
#冒頭に書いた通りの状況なので、結論をいそいでない分スタンスも不真面目めです(^^;
返信 編集キー/


管理者用

- Child Tree -