der Schnellste Weg zur Erzeugung von zufälligen bits

Was wäre der Schnellste Weg, um erzeugen eine große Anzahl von (pseudo-)zufällige bits. Jedes bit unabhängig sein müssen, und null oder eins mit gleicher Wahrscheinlichkeit auf. Ich könnte natürlich einige Variationen auf

randbit=rand()%2;

aber ich fühle mich wie es sollte eine Methode, die schneller, erzeugen einige zufällige bits von jedem Aufruf des Zufallszahlengenerators. Im Idealfall würde ich mag, um ein int oder ein char ist, bei dem jedes bit ist zufällig und unabhängig ist, aber andere Lösungen sind auch möglich.

Die Anwendung ist nicht kryptographische in der Natur so starke Zufälligkeit ist nicht ein wichtiger Faktor ist, in der Erwägung, dass die Geschwindigkeit und die richtige Verteilung ist wichtig.

  • Welche distribution Sie suchen? Und wie wählerisch sind Sie in Bezug auf die Richtigkeit der Verteilung. Wenn Sie wirklich wollen, P[x] = 1/n für die zahlen x im Intervall [1..n], dann müssen Sie noch einen guten rng-auch wenn Ihre Anwendung nicht crypto.
  • Was über so etwas wie ((int)rand*rand)%2?
  • Vielleicht ein Duplikat der stackoverflow.com/questions/25176423/... (diese Frage ist mehr breit als er fragt auch, über nicht bei 50:50-Distributionen)
InformationsquelleAutor dagw | 2009-05-15
Schreibe einen Kommentar