<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Suche nach Zufallszahlgenerator]]></title><description><![CDATA[<p>Hallo!<br />
Ich suche nach einem schönen Zufallszahlgenerator, der auch in C++ (also in eine Klasse eingebettet) ist.<br />
Wichtig ist es für mich: <strong>Geschwindigkeit (!!!)</strong>, gute Zufälligkeit.<br />
Unwichtig: Speicherbedarf, Resourcen etc.<br />
Die Objektschnittstelle soll mindestens folgende Methode haben - Zufallszahl in [0, n), und bzw. Gleitkommazahl in [0, 1).</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185637/suche-nach-zufallszahlgenerator</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 20:16:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185637.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Jun 2007 10:40:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 29 Jun 2007 10:40:23 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich suche nach einem schönen Zufallszahlgenerator, der auch in C++ (also in eine Klasse eingebettet) ist.<br />
Wichtig ist es für mich: <strong>Geschwindigkeit (!!!)</strong>, gute Zufälligkeit.<br />
Unwichtig: Speicherbedarf, Resourcen etc.<br />
Die Objektschnittstelle soll mindestens folgende Methode haben - Zufallszahl in [0, n), und bzw. Gleitkommazahl in [0, 1).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314849</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Fri, 29 Jun 2007 10:40:23 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 29 Jun 2007 11:09:49 GMT]]></title><description><![CDATA[<p>hier mal nen &quot;ganz simpler&quot;<br />
seed kannst du dann setzen, wie du magst.</p>
<pre><code class="language-cpp">#include &lt;ctime&gt;
#include &lt;vector&gt;

using namespace std;

class myRandom {
    protected:
    public:
       vector&lt;float&gt; seed;
           vector&lt;float&gt;:: iterator it;
       myRandom () {
           seed.push_back(1);
           seed.push_back(2);
           seed.push_back(3);
           seed.push_back(4);
           seed.push_back(5);
           it = seed.begin();
       }
       float getRandom () {
           it++; 
           if (it == seed.end())
               it = seed.begin();
           return 1.0 / (float)( (*it) * clock() % 1000);
       } 
       int getRandom (int max) {
           return (int) (getRandom() * max);
       }

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1314870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314870</guid><dc:creator><![CDATA[DocJunioR]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 29 Jun 2007 11:42:46 GMT]]></title><description><![CDATA[<p>Guter Artikel von Marc++us über das Thema:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-172876.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-172876.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314897</guid><dc:creator><![CDATA[Headhunter]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 29 Jun 2007 13:54:21 GMT]]></title><description><![CDATA[<p>C++ hat seit dem TR1 eine erweiterte Random-Number-Library <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1452.html" rel="nofollow">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1452.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315024</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Fri, 29 Jun 2007 13:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 06:22:51 GMT]]></title><description><![CDATA[<p>Versuche mal den hier:</p>
<p><a href="http://home.southernct.edu/~pasqualonia1/ca/report.html" rel="nofollow">http://home.southernct.edu/~pasqualonia1/ca/report.html</a></p>
<p>Ich bin aus Geschwindigkeitsgründen vom Mersenne-Twister darauf umgestiegen, die Zufallsverteilung ist sehr gut, und es gibt momentan keinen mit besserem Qualitäts/Geschwindigkeit-Verhältnis.<br />
Ist zwar in C, aber leicht in eine Klasse umzubauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315411</guid><dc:creator><![CDATA[Miq]]></dc:creator><pubDate>Sat, 30 Jun 2007 06:22:51 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 06:50:47 GMT]]></title><description><![CDATA[<p>Miq schrieb:</p>
<blockquote>
<p>Versuche mal den hier:</p>
<p><a href="http://home.southernct.edu/~pasqualonia1/ca/report.html" rel="nofollow">http://home.southernct.edu/~pasqualonia1/ca/report.html</a></p>
<p>Ich bin aus Geschwindigkeitsgründen vom Mersenne-Twister darauf umgestiegen, die Zufallsverteilung ist sehr gut, und es gibt momentan keinen mit besserem Qualitäts/Geschwindigkeit-Verhältnis.<br />
Ist zwar in C, aber leicht in eine Klasse umzubauen.</p>
</blockquote>
<p>Wie kann ich daraus Zufallszahl in [0, n), und bzw. Gleitkommazahl in [0, 1) kriegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315417</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 30 Jun 2007 06:50:47 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 07:46:23 GMT]]></title><description><![CDATA[<p>Integer [0, n):<br />
So lange Zufallszahlen ziehen, bis du eine passende Zahl hast.<br />
Mit dem Modulo-Operator würdest du die Verteilung kaputtmachen (es sei denn, n ist sehr klein). Lässt sich ganz gut optimieren, indem du nur so viele Bits ziehst, wie du brauchst.</p>
<p>Gleitkommazahl [0, 1):<br />
static_cast&lt;float&gt;(random()) / (RANDOM_MAX + 1)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315426</guid><dc:creator><![CDATA[TomasRiker]]></dc:creator><pubDate>Sat, 30 Jun 2007 07:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:26:41 GMT]]></title><description><![CDATA[<p>TomasRiker schrieb:</p>
<blockquote>
<p>Integer [0, n):<br />
So lange Zufallszahlen ziehen, bis du eine passende Zahl hast.<br />
Mit dem Modulo-Operator würdest du die Verteilung kaputtmachen (es sei denn, n ist sehr klein). Lässt sich ganz gut optimieren, indem du nur so viele Bits ziehst, wie du brauchst.</p>
</blockquote>
<p>Das wird auch die Geschwindigkeit kaputt machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315499</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:32:08 GMT]]></title><description><![CDATA[<p>Hast du eine bessere Idee?</p>
<p>Angenommen du willst eine Zufallszahl zwischen 0 und 200 haben.<br />
Dafür reichen 8 Bits. Du holst dir also 8 Zufalls-Bits, bastelst sie zu einem int zusammen und prüfst, ob der Wert zwischen 0 und 200 liegt. Wenn es nicht geklappt hast, machst du es nochmal, usw.. Die Wahrscheinlichkeit dafür, dass der Wert in Ordnung ist, liegt immer über 50%. Im Optimalfall liegt er sogar bei 100%, nämlich wenn die obere Grenze eine 2er-Potenz ist.<br />
Kannst dir ja ausrechnen, wie groß die Wahrscheinlichkeit ist, dass du 2, 3, 4, ... mal ziehen musst, bevor du getroffen hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315500</guid><dc:creator><![CDATA[TomasRiker]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:32:08 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:35:31 GMT]]></title><description><![CDATA[<p>TomasRiker schrieb:</p>
<blockquote>
<p>Hast du eine bessere Idee?</p>
<p>Angenommen du willst eine Zufallszahl zwischen 0 und 200 haben.</p>
</blockquote>
<p>Einfach 200 * Gleitkommazahl [0,1) machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315502</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:35:31 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:44:19 GMT]]></title><description><![CDATA[<p>Ja, klingt nach einer besseren Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Allerdings habe ich das Verfahren mit dem &quot;solange ziehen, bis es passt&quot; auch schon öfters gesehen, z.B. <a href="http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315506</guid><dc:creator><![CDATA[TomasRiker]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:44:19 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:46:13 GMT]]></title><description><![CDATA[<p>Das Verfahren ist ja auch nicht schlecht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315508</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:46:13 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:47:39 GMT]]></title><description><![CDATA[<p>Man muss halt damit leben, dass es <strong>theoretisch</strong> unendlich lange dauern kann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315509</guid><dc:creator><![CDATA[TomasRiker]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:47:39 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 10:50:01 GMT]]></title><description><![CDATA[<p>Wäre vielleicht mal ganz interessant die beiden Methoden geschwindigkeitstechnisch gegeneinander laufen zu lassen. Auf verschiedenen CPUs versteht sich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315512</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 30 Jun 2007 10:50:01 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 11:11:52 GMT]]></title><description><![CDATA[<p>All eure Lösungen sind doch Nonsens.</p>
<p><a href="http://gamedev.dword.org/index.php?t=rants&amp;a=show&amp;i=39" rel="nofollow">http://gamedev.dword.org/index.php?t=rants&amp;a=show&amp;i=39</a> &lt;&lt; Das Beste!</p>
<p>Ich _bin_ es</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315522</guid><dc:creator><![CDATA[Mastro]]></dc:creator><pubDate>Sat, 30 Jun 2007 11:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sat, 30 Jun 2007 12:52:44 GMT]]></title><description><![CDATA[<p>TomasRiker schrieb:</p>
<blockquote>
<p>Ja, klingt nach einer besseren Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Allerdings habe ich das Verfahren mit dem &quot;solange ziehen, bis es passt&quot; auch schon öfters gesehen, z.B. <a href="http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html" rel="nofollow">hier</a>.</p>
</blockquote>
<p>Danke!<br />
Genau das wollte ich! Ich werde die Quellcode benutzen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315611</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sat, 30 Jun 2007 12:52:44 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sun, 01 Jul 2007 07:03:57 GMT]]></title><description><![CDATA[<p>Zdravko schrieb:</p>
<blockquote>
<p>TomasRiker schrieb:</p>
<blockquote>
<p>Ja, klingt nach einer besseren Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Allerdings habe ich das Verfahren mit dem &quot;solange ziehen, bis es passt&quot; auch schon öfters gesehen, z.B. <a href="http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html" rel="nofollow">hier</a>.</p>
</blockquote>
<p>Danke!<br />
Genau das wollte ich! Ich werde die Quellcode benutzen!</p>
</blockquote>
<p>Mach das ruhig, der MersenneTwister ist nicht schlecht, hab' ihn ja selbst lange benutzt - der Zelluläre Automat aus dem Link in meinem vorigen Post ist aber besser...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315958</guid><dc:creator><![CDATA[Miq]]></dc:creator><pubDate>Sun, 01 Jul 2007 07:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sun, 01 Jul 2007 10:44:43 GMT]]></title><description><![CDATA[<p>Ich kriege eine seltsame Warnmeldung bei VC2005:</p>
<pre><code class="language-cpp">uint32 twist(const uint32&amp; m, const uint32&amp; s0, const uint32&amp; s1) const
		{ return m ^ (mixBits(s0,s1)&gt;&gt;1) ^ (-loBit(s1) &amp; 0x9908b0dfUL); }
</code></pre>
<blockquote>
<p>mersennetwister.hpp(125) : warning C4146: unary minus operator applied to unsigned type, result still unsigned</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1316070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1316070</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Sun, 01 Jul 2007 10:44:43 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Sun, 01 Jul 2007 12:20:47 GMT]]></title><description><![CDATA[<p>lies die Meldung doch einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>btw. warum nicht die Zufallszahlengeneratoren, die mit der C++-tr1-Standardlibrary kommen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1316099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1316099</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sun, 01 Jul 2007 12:20:47 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Mon, 02 Jul 2007 19:09:46 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>lies die Meldung doch einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>btw. warum nicht die Zufallszahlengeneratoren, die mit der C++-tr1-Standardlibrary kommen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Ich habs gelesen. Warum sollte man dann Minus schreiben?</p>
<p>Hmmm, tr1? Woher entnehme ich das? Ist es besser als MTRand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317117</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Mon, 02 Jul 2007 19:09:46 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Mon, 02 Jul 2007 20:16:18 GMT]]></title><description><![CDATA[<p>Tim schrieb:</p>
<blockquote>
<p>TomasRiker schrieb:</p>
<blockquote>
<p>Hast du eine bessere Idee?</p>
<p>Angenommen du willst eine Zufallszahl zwischen 0 und 200 haben.</p>
</blockquote>
<p>Einfach 200 * Gleitkommazahl [0,1) machen?</p>
</blockquote>
<ol>
<li>Führt genauso zu einer ungleichen Verteilung</li>
<li>Wenn dann müsste das 201 * Gleitkommazahl [0,1) heissen<br />
[]</li>
</ol>
<p>TomasRiker schrieb:</p>
<blockquote>
<p>Hast du eine bessere Idee?</p>
<p>Angenommen du willst eine Zufallszahl zwischen 0 und 200 haben.<br />
Dafür reichen 8 Bits. Du holst dir also 8 Zufalls-Bits, bastelst sie zu einem int zusammen und prüfst, ob der Wert zwischen 0 und 200 liegt. Wenn es nicht geklappt hast, machst du es nochmal, usw.. Die Wahrscheinlichkeit dafür, dass der Wert in Ordnung ist, liegt immer über 50%. Im Optimalfall liegt er sogar bei 100%, nämlich wenn die obere Grenze eine 2er-Potenz ist.<br />
Kannst dir ja ausrechnen, wie groß die Wahrscheinlichkeit ist, dass du 2, 3, 4, ... mal ziehen musst, bevor du getroffen hast.</p>
</blockquote>
<p>Besser: Du holst dir 32 Bit aus dem Generator (bzw. was der halt ausspuckt).<br />
Wenn der Wert &gt;= (2^32 - (2^32 % 201)) ist verwirfst du ihn und ziehst neu.<br />
Danach kannst du entweder Wert % 201 oder Wert/((2^32 - (2^32 % 201)) / 201) rechnen.</p>
<p>Und sobald du eine Range von z.B. mehr als 22 Bit brauchst ziehst du gleich 2 Stück 32 Bit Werte und machst erstmal einen 64 Bit Wert draus. Mit dem dann weiter wie gehabt, nur halt mit 2^64 statt 2^32. (Wenn man nicht mehr als 64 Bit Integers zum Rechnen hat macht man aus den 2x 32 Bit Werten einfach einen 63 Bit Wert (ein Bit wegwerfen oder überlappend ver-xor-en), dann geht's auch schön mit 64 Bit Integers.)</p>
<p>---</p>
<p>Davon abgesehen: Mersenne Twister (speziell MT19937) ist &quot;tried and true&quot;, und ist vor allem für fast alle Anwendungen &quot;gut genug&quot;. Daher würde ich immer einen MT19937 Generator verwenden solange der nicht aus irgendwelchen Gründen nichtmehr &quot;gut genug&quot; ist.<br />
Achja: schnell ist er auch. Der einzige Grund einen anderen Generator zu verwenden wäre für mich der Speicherbedarf - wenn die ~~4KB die der an State hat zuviel sind muss man eben einen einfacheren Generator verwenden (kann sein dass 4KB etwas daneben ist - ist schon länger her dass ich mir das angesehen habe, aber die Grössenordnung kommt in etwa hin).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1317162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1317162</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 02 Jul 2007 20:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 06 Jul 2007 07:25:22 GMT]]></title><description><![CDATA[<p>Man kann sich das Leben auch schwer machen,<br />
anstatt mal so einen schlappen vierzeiler zu schreiben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319395</guid><dc:creator><![CDATA[oh my god]]></dc:creator><pubDate>Fri, 06 Jul 2007 07:25:22 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 06 Jul 2007 07:38:52 GMT]]></title><description><![CDATA[<p>oh my god schrieb:</p>
<blockquote>
<p>Man kann sich das Leben auch schwer machen,<br />
anstatt mal so einen schlappen vierzeiler zu schreiben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Ja, für einfache Testfälle kommt man wunderbar mit dem Standard-Generator (rand()) und einigen einfachen Bereichs-Anpassungen zurecht. Aber manchmal ist die Ausgabe von rand() einfach nicht zufällig genug für die praktische Anwendung (gerade die untersten Bits der Sequenz zeigen sehr regelmäßige Muster) - und dann reicht dieser &quot;schlappe vierzeiler&quot; nicht mehr aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319404</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 07:38:52 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 06 Jul 2007 08:04:29 GMT]]></title><description><![CDATA[<p>Wenn man rand() benutzen will sollte man es wenigstens so machen wie <a href="http://www.eternallyconfuzzled.com/arts/jsw_art_rand.aspx" rel="nofollow">hier</a> beschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319424</guid><dc:creator><![CDATA[Beliah]]></dc:creator><pubDate>Fri, 06 Jul 2007 08:04:29 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 06 Jul 2007 08:32:35 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>[...gerade die untersten Bits der Sequenz zeigen sehr regelmäßige Muster) - und dann reicht dieser &quot;schlappe vierzeiler&quot; nicht mehr aus.</p>
</blockquote>
<p>Wen interessiert die binäre Darstellug, wenn man gleichverteilte Integerwerte haben möchte ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319451</guid><dc:creator><![CDATA[oh my god]]></dc:creator><pubDate>Fri, 06 Jul 2007 08:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Suche nach Zufallszahlgenerator on Fri, 06 Jul 2007 08:41:52 GMT]]></title><description><![CDATA[<p>Die binäre Darstellung der Werte ist ganz entscheidend dafür, wie gleichverteilt und zufällig die rauskommenden Werte tatsächlich sind (und wenn du z.B. Werte zwischen 0 und 3 per <code>rand()%4;</code> holst, bleibt von der Zufälligkeit meist nicht viel übrig ;)).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1319462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1319462</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 06 Jul 2007 08:41:52 GMT</pubDate></item></channel></rss>