Nicht Mathematik.floor(Math.random() * 255) erzeugen ungleiche Wahrscheinlichkeiten?
Wurde das denken durch die Logik und es schien, dass Math.floor(Math.random() * 255)
erzeugen würde, ungleiche Wahrscheinlichkeiten für jeden Wert generiert wird.
Zum Beispiel, eine Anzahl von Werten, können abrunden 254, aber nur, wenn Math.random()
erzeugt genau 1 wird die Ausgabe 255. Wie uneben die Wahrscheinlichkeiten sind, hängt davon ab, wie viele Dezimalstellen Math.random()
generiert.
Bin ich falsch in meinem denken hier oder ist es eine mehr ausgewogene Weise zu generieren, die eine Reihe von zufälligen Ganzzahlen?
- Äh, Mathe.random nie wieder 1.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Math.random()
wird, erzeugen immer eine Zahl ist, die strikt kleiner als 1 (ich.e0 ≤ x < 1
), soMath.floor(Math.random() * 255)
generiert eine zufällige Zahl zwischen 0 und 254.Verwenden
Math.floor(Math.random() * 256)
generiert eine Zahl zwischen 0 und 255. Ja, die Ergebnisse werden gleichmäßig verteilt.Dies generiert eine zufällige ganze Zahl, der für Sie unter 256:
Beachten Sie, dass es nicht funktionieren, für riesige zahlen, jedoch. Und, ja, es wird erzeugen Sie gleichmäßig verteilte zahlen 🙂