ForHosting KIT · Mathematik

Dezimaler Zufallszahlengenerator

Mit den Grenzen 0 und 1 und Seed 42 erhalten Sie immer 0,2523451748: Gleiche Grenzen, gleicher Seed und gleiche Nachkommastellen wiederholen dieselbe Ziehung. Praktisch für Lösungsschlüssel, Wahrscheinlichkeitsaufgaben und Beispieldaten. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Minimum
0
Maximum
1
Startwert
42
Erhalten Sie
Wert
0,2523451748
Genauigkeit
10
Einheitsintervall
0,2523451748

Die Ziehung stammt aus einem geseedeten linearen Kongruenzgenerator, sodass dieselben Grenzen, derselbe Seed und dieselbe Genauigkeit stets dieselbe Zahl erzeugen.

So entsteht eine wiederholbare Zufallszahl

Der Generator startet mit dem Seed, den Sie wählen, und erzeugt einen Anteil zwischen 0 und 1, wobei 0 möglich ist und 1 nicht. Dieser Anteil wird auf Ihr Intervall übertragen: Zum Minimum kommt der Anteil mal dem Abstand zwischen Maximum und Minimum hinzu. Vor dem Runden kann das Ergebnis deshalb genau dem Minimum entsprechen, bleibt aber immer unter dem Maximum. Danach wird auf die gewünschte Zahl von Nachkommastellen gerundet, von 0 bis 12, ohne Angabe auf zehn. Mit den Grenzen 0 und 1 und Seed 42 erhalten Sie immer 0,2523451748.

Wofür man sie braucht und worauf Sie achten sollten

Eine wiederholbare Dezimalzahl hilft überall dort, wo jemand anderes das Ergebnis nachprüfen muss: beim Lösungsschlüssel einer Wahrscheinlichkeitsaufgabe, bei Beispieldaten für eine Simulation oder bei einer automatischen Kontrolle, die einen festen Wert erwartet. Notieren Sie den Seed immer zusammen mit dem Ergebnis, denn nur so lässt sich später belegen, dass eine Wiederholung dieselbe Ziehung war. Achten Sie außerdem auf die Zahl der Nachkommastellen: Wer zwei Ergebnisse vergleicht, muss dieselbe Rundung verwenden, sonst unterscheiden sich die Zahlen, obwohl die Ziehung gleich war.

Wie ein geseedeter linearer Kongruenzgenerator zu einer Dezimalzahl wird

Ein dezimaler Zufallszahlengenerator, den man nicht wiederholen kann, ist eine Last in Tests, Hausaufgabenlösungen und Simulationsheften. Dieser Endpunkt lehnt deshalb die Zufallsquelle des Wirts und die Systemuhr ab. Er treibt einen 32-Bit-linearen Kongruenzgenerator voran, dessen Konstanten das Paar 1664525 und 1013904223 aus Numerical Recipes sind, genommen modulo zwei hoch zweiunddreißig.

Ein Schritt der Rekurrenz erzeugt eine vorzeichenlose ganze Zahl X, die durch zwei hoch zweiunddreißig geteilt wird, um eine Einheitsintervall-Stichprobe u im halboffenen Bereich von null einschließlich bis eins ausschließlich zu erhalten. Vor jeder Rundung lebt die rohe Dezimalzahl daher im halboffenen Intervall, das das Minimum einschließt und das Maximum ausschließt. Optionale Genauigkeit rundet die angezeigte Dezimalzahl anschließend auf zwischen null und zwölf Nachkommastellen, damit Goldens und Tabellenkalkulationen byteweise vergleichen.

Wo eine wiederholbare Dezimalziehung ihren Nutzen hat

Softwaretests sind das erste Publikum. Eine Suite, die eine Dezimalzahl zwischen 0.15 und 0.85 braucht, sollte nicht die Zufallsquelle des Wirts aufrufen und dann eine wandernde Zahl einfrieren; sie sollte einen festen Seed senden und den veröffentlichten Wert behaupten. Lehrplattformen sind das zweite.

Wahrscheinlichkeitskurse bitten Studierende um eine gleichförmige Dezimalzahl auf einem Intervall und dann um einen Mittelwert oder eine Überdeckung; ein geseedeter Generator lässt die Lehrkraft die erwartete Ziehung neben dem Arbeitsblatt veröffentlichen, statt zu streiten, welcher Rechner geblinkt hat. Simulations- und Testdatenjobs sind das dritte. Wenn Sie viele unabhängige Ziehungen brauchen, schieben Sie den Seed selbst vor (seed plus eins, seed plus zwei) und sammeln Sie die Werte, oder rufen Sie erneut mit einem anderen dokumentierten Seed auf.

Halten Sie Anfragen klein, pinnen Sie den gerundeten Wert in Tests fest, und Sie erhalten eine wiederholbare Dezimalzahl, ohne eine eigene Statistiklaufzeit aufzubauen.

Gleichförmige Unterrichtsziehungen

Veröffentlichen Sie die erwartete Dezimalzahl neben einem Wahrscheinlichkeitsblatt, damit jede lernende Person und der Lösungsschlüssel eine einzige geseedete Ziehung teilen.

Fiktive Sensor- und Preisreihen

Ordnen Sie eine Szenariokennung einem Seed zu und erhalten Sie eine stabile Temperatur, ein Gewicht oder einen Stückpreis in einem dokumentierten Zahlenintervall.

Ist das eine kryptographische Zufallsquelle?

Nein. Der Generator ist ein kurzer, vollständig spezifizierter linearer Kongruenzstrom für Tests, Lehre und Testdaten. Nutzen Sie ihn nicht für Schlüssel, Token oder etwas, das gegenüber einem Gegner unvorhersehbar bleiben muss.

Wie viele Nachkommastellen kann die Zahl haben?

Zwischen 0 und 12. Wenn Sie nichts wählen, erhalten Sie zehn Nachkommastellen. Gerundet wird erst am Ende, nachdem die Ziehung zwischen Ihre beiden Grenzen gelegt wurde.

Kann genau das Maximum herauskommen?

Vor dem Runden nicht: Das Ergebnis kann dem Minimum entsprechen, bleibt aber immer unter dem Maximum. Gezogen wird in einem Intervall, das die untere Grenze einschließt und die obere ausschließt.

Wie erhalte ich mehrere verschiedene Zufallszahlen?

Ändern Sie den Seed bei jeder Ziehung, etwa indem Sie jedes Mal eins addieren, oder notieren Sie einen anderen Seed. Jeder Seed liefert genau eine Zahl, derselbe Seed also dieselbe Dezimalzahl.

Warum muss das Minimum kleiner als das Maximum sein?

Weil gleiche oder vertauschte Grenzen keine Breite haben und damit keine gleichmäßige Ziehung beschreiben. Der Rechner lehnt sie ab, statt die Werte still zu tauschen, damit Ihr Eingabefehler sichtbar bleibt.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/stat/decimal-random-number-generator

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/stat/decimal-random-number-generator \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"minimum":0,"maximum":1,"seed":42}'
{
  "minimum": 0,
  "maximum": 1,
  "seed": 42
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.decimal_random_number_generator",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Ist die Untergrenze nicht streng kleiner als die Obergrenze, schlägt die Aufgabe mit invalid_input fehl, statt eine Reihenfolge zu erfinden.

Wie ein geseedeter linearer Kongruenzgenerator zu einer Dezimalzahl wird

Diese Einheitsstichprobe wird anschließend durch die affine Abbildung Wert gleich minimum plus u mal der Breite maximum minus minimum auf das Intervall des Aufrufers skaliert. Derselbe Seed, dieselben Grenzen und dieselbe Genauigkeit liefern stets dasselbe unit_interval und dasselbe value auf jeder Laufzeit, die 32-Bit-Multiply-Add auf dieselbe Weise umsetzt — genau der Vertrag, den eine Continuous-Integration-Assertion braucht. Nichts im Pfad ist auf Betriebssystemebene stochastisch; zwei Worker mit demselben JSON-Körper können nicht voneinander abweichen.

Eingabevertrag, Grenzen, Genauigkeit und Fehlerverhalten

Gleiche Grenzen und ein umgekehrtes Intervall werden beide abgelehnt, weil eine Null- oder negative Breite keine gleichförmige Ziehung definiert und ein erfundenes Vertauschen einen Fehler des Aufrufers verbergen würde. Die Rundung nach der Skalierung kann genau auf einem Endpunkt landen; behandeln Sie den angezeigten Wert als Dezimalzahl mit der angeforderten Stellenzahl, nicht als Versprechen, dass die ausschließliche Obergrenze jede Rundung übersteht. Fehlgeschlagene Validierung wird nicht berechnet. Verknüpfen Sie den zurückgegebenen Seed mit Ihren eigenen Aufzeichnungen, wenn Sie belegen müssen, dass eine spätere Wiederholung denselben Strom genutzt hat. Senden Sie per POST einen JSON-Körper mit drei Pflichtfeldern. minimum ist die Untergrenze des Intervalls und darf auch als min, lower oder lo ankommen. maximum ist die Obergrenze und darf auch als max, upper oder hi ankommen. seed ist der Generator-Seed und darf auch als key oder salt ankommen. Ein optionales Feld precision, auch als decimals, places oder digits akzeptiert, setzt die Anzahl der Nachkommastellen der zurückgegebenen Dezimalzahl; der Vorgabewert ist zehn und es muss eine ganze Zahl von null bis zwölf sein. Jedes numerische Feld darf eine JSON-Zahl oder eine numerische Zeichenkette sein; nichtendliche Werte, leere Zeichenketten und fehlende Pflichtfelder scheitern mit invalid_input, das das Feld benennt. Die harte geometrische Regel lautet, dass minimum streng kleiner als maximum sein muss. Bei Erfolg wiederholt der Körper das geparste minimum und maximum, den vorzeichenlosen 32-Bit-Seed, der tatsächlich in die Rekurrenz eingegangen ist, und die angewandte Genauigkeit. Er liefert außerdem unit_interval, das rohe u auf zwölf Stellen gerundet zur Prüfung, value, die skalierte Dezimalzahl auf die angeforderte Genauigkeit gerundet, und eine kurze formula-Zeichenkette, die die affine Abbildung neu formuliert. Erfolgreiche Aufrufe nutzen den veröffentlichten Grundpreis $0.002.

Wo eine wiederholbare Dezimalziehung ihren Nutzen hat

Jeder erfolgreiche API-Aufruf kostet $0.002; ungültige Eingabe wird nicht berechnet. Das Werkzeug ist keine kryptographische Zufallsquelle, kein Mehrstichproben-Vektorengenerator und kein Ersatz für eine volle Monte-Carlo-Bibliothek: es liefert eine Dezimalzahl je Anfrage.

Wiederholbare Test-Fixtures

Legen Sie Seed und Grenzen in der Continuous Integration fest, damit ein Unit-Test stets dieselbe Dezimalzahl erwartet statt eines wandernden Zufallsschnappschusses des Wirts.

Wie wählt dieser dezimale Zufallszahlengenerator einen Wert?

Er treibt einen 32-Bit-linearen Kongruenzgenerator nach Numerical Recipes von Ihrem Seed voran, bildet den nächsten Zustand auf eine Einheitsintervall-Stichprobe u in [0, 1) ab und liefert minimum + u × (maximum − minimum), gerundet auf die angeforderte Genauigkeit.

Warum muss die Untergrenze kleiner als die Obergrenze sein?

Eine gleichförmige Ziehung braucht eine positive Intervallbreite. Ist minimum nicht streng kleiner als maximum, schlägt die Aufgabe mit invalid_input fehl, statt die Grenzen zu tauschen oder eine Richtung zu erfinden.

Erzeugt derselbe Seed stets dieselbe Dezimalzahl?

Ja. Der Pfad liest niemals die Uhr und ruft niemals Math.random auf. Dieselben minimum, maximum, seed und precision liefern stets dasselbe unit_interval und dasselbe value.

Was kostet der dezimale Zufallszahlengenerator?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →