• ベストアンサー

乱数です(・ω・;)

乱数は作れます(time を使ってやるということです) 今までも、1~6の乱数を生成することなどが出来たのですが、0.0035や0.123などの小数を含む0から1の間の数をどのように生成したらよいでしょうか? よろしくお願いしますm(・ω・)m

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

標準関数 rand で返される整数の最大値はRAND_MAXで得ることができます。 整数 0 ~ RAND_MAX を 0 ~ 1.0 にマッピングすればいいのですから、 (double)rand() / RAND_MAX もしくは (double)rand() / (RAND_MAX + 1.0) のような式で0~1.0になります(前者は1.0を含み、後者は含みません)

参考URL:
http://hata.cc/docs/sim/uniformal.html
noname#45110
質問者

お礼

なるほどRAND_MAXですか~(**;) やってみたら完璧でした(^^)v ありがとうございますw

その他の回答 (1)

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.1

例えば、0~1000までの乱数を生成した後に得られた乱数を1000で割るという手法はどうでしょうか?

関連するQ&A

専門家に質問してみよう