C言語の標準で用意されている乱数がなぜ推奨されないのか教えてください。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーC言語の標準で用意されている乱数がなぜ推奨されないのか教えてください。717件91C言語の標準で用意されている乱数がなぜ推奨されないのか教えてください。12:263具体的にどの様な事が起こるか、これを見ると分かると思います。票12一般論として標準Cのrandが推奨されいてないという事実はありませんが、注意すべき点はいくつかあります。標準Cでは実装を規定していないたとえば、srandに同じseedを与えても、環境が違うと生成される乱数列は異なる可能性があります。どの範囲の値を返すかも実装依存です。品質の良い疑似乱数生成器が使われているとは限らない後方互換性などの観点で、古くからの実装が継続して使われている場合、品質に問題があることがわかっているアルゴリズムがそのまま使われている場合があります。使われていた線形合同法は、周期が短く、ランダム性にも問題があることがわかっています。使用しなければなりません。暗号に使う鍵はもちろんですが、セッションのトークンなどもこれに含まれます。分布の偏りがどうしても生じてしまう。そのため研究等で精度の高い解析を得るためには、精度の高い生成アルゴリズムを用いることが重要である。|6C言語の言語標準の中では、疑似乱数を生成するための方法やアルゴリズムについては定義されていません。そのためどのような乱数が生成されるかは、C言語の実装に依存します。実行環境が変わると再現性が無くなってしまうため、研究などで再現性が必要な場合には独自に疑似乱数を実装する事が必要になります。線形合同法を使っている実装が多いですが、同じ線形合同法でも使用する定数値によって生成される乱数列が変わってきます。実装に使用している定数値が異なる可能性があるので、常に同じ結果が出て欲しい場合には、独自に実装する必要が生じます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。会を開催します🎉サイトの未翻訳箇所を見つけて、もくもく会で直しましょう関連する質問2テキストファイルをcsv形式に書き換えるプログラミングを教えてください。0マクロの二段階展開について教えてください。1組み込み(ビルトイン)関数とユーザー定義関数について教えてください1C言語の宣言・型の読み方を教えてください。5phpのビルトイン関数について教えてください。0パラメータをGUIで変更したらそのパラメータに応じたグラフが描かれるようなツールが知りたい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。