私はQDateTimeを使用して、QTでユニークな乱数列を生成したい:: currentDateTime()。toTime_t()シード値として、(qrandます)ユニークな乱数を生成しますか?qrandを使用してユニークな乱数列()とqsrand()
答えて
号qrand
はだけなので、整数にフィット限り多くのユニークな番号を生成することができます - あなたが一意に数えることができない - 何でも実装。
また、異なる種が異なるランダムな整数を効果的にランダムもうqrand
ないなり予測のレベルを生じる生成することを知ります。
編集:私は漫画を投稿してあなたを楽しませるつもりはないと誓っています。さQt Documentationによると、QRand)は、標準のrand(のちょうどスレッドセーフバージョンである
、私が使用方法を想定していないでしょう。私は、これが問題の非常に良い説明だと思いますその記述に基づいてrand()のものよりも安全で優れています。
私はあなたが(ない擬乱数発生器は、入力X意志常に農産物出力Yとして、ユニークストリームを生成しません)「ユニークな」乱数とは異なる用語を使用する必要があると思います。 実際にはの状況は何ですか?
サーバプロセスが実行中で、クライアントが接続するときにセッションIDとして一意のランダム値を割り当てたいとしました。 –
ああ...あなたが今何を望んでいるのか分かります。 qrand()* alone *は動作しませんが、以前に割り当てられた(アクティブな)セッションIDのテーブルに加えて、qrand()を使用して値をクライアントに送信する前に一意であることを確認できます。あなたのニーズに応じて、それで十分かもしれません。しかし、qrand()の代わりに、Linuxで/ dev/urandomから読み込むなどの代替PRNGを調べることもできます。 – Kitsune
はあなたのセッションIDを保存する方法に応じて、あなたは(ほとんど)UUIDを使用して一意の識別子を保証生成することができます。 QUuid
のドキュメントを参照してください。これにも注意してください(太字)。
createUuid()
も使用できます。createUuid()
によって生成されたUUIDはランダムタイプです。彼らのQUuid::Version
ビットはQUuid::Random
に設定され、そのQUuid::Variant
ビットがQUuid::DCE
に設定されています。残りのUUIDは乱数で構成されています。 理論的には、これは、createUuid()
によって生成されたUUIDが一意ではない可能性がわずかにあることを意味します。しかし、それは非常に小さなチャンスです。
私はあなたが同様のlibuuid
か何かに見て、彼らは一意である必要がないので、もし、それらの生成のUUIDは、必ずしも一意ではないだろうということを保証することができます。
- 1. 10000 +ユニークな乱数(パフォーマンス)
- 2. PHP:データベースにユニークな乱数を書く
- 3. 私はユニークな整数の乱数で構成される配列を作成しようとしてる
- 4. 乱数をユニークにして番号をソートする方法
- 5. 配列とユニークなキーを使用したPHPの操作
- 6. PHPで配列を使用した重複のない乱数
- 7. Linqを使用してデータベーステーブル内のユニークな文字列のリスト?
- 8. ユニークなクラスごとに異なる配列を使用する同じ関数
- 9. ディープストリームリストを使用して数万のユニークな値
- 10. 集約関数と集計関数を使用してデータフレーム内のユニークな列を取得する方法は?
- 11. ユニークなキーのない複数の列を使用したOracleの更新
- 12. 配列と乱数
- 13. キープロパティをユニークな識別子として使用する
- 14. JQuery/JavaScript:乱数ジェネレータをsetInterval()タイマーとして使用する
- 15. C言語の乱数生成器としてdrand48_rを使用
- 16. 変数に保存してXSLを使用してユニークなエントリを表示
- 17. ユニークでないすべての列で@jointableを使用する
- 18. 複数の列を作成する方法Javascript、Parseクラウドコードを使用してユニーク?
- 19. JavaScriptを使用して固定長に乱数を使用して文字列を埋め込みます。
- 20. 乱数を使用したJavaゲーム
- 21. モジュロARMを使用した乱数
- 22. 豆を使用した乱数
- 23. 乱数と配列検索
- 24. なぜ乱数(塩を使わないで)乱数?
- 25. SQL - ユニークな列5のランダムな数字
- 26. asp cを使用してリピータコントロールのユニークな列のみを表示する#
- 27. SimulinkでMatlab関数を使用して均一な乱数をソート
- 28. 乱数ジェネレータに素数を使用してみませんか?
- 29. ピボットテーブルを使用してすべてのユニークな値を表示
- 30. lodashを使用して配列からユニークな値、合計、および数を取得します。
Qtのドキュメントはqrand()は、プログラムの実行中の異なる時点で呼び出された場合、それはユニークな番号を生成しますqrand()は0とRAND_MAXの間の値を返すと言いますか。? -ありがとうございます。 –
No.必要ではありません。 – balpha
qrandは疑似ランダムジェネレータに過ぎません。値が一意であるという保証はありません。あなたは自分自身を確実にする必要があります。生成された数を1組に格納する。 – nos