Generiert eine pseudozufällige Zahl.
Random, AusgabeVar , Min, Max Random, , NeuerSeed
Name der Ausgabevariable, in der das Ergebnis gespeichert werden soll. Das Format von gespeicherten Floating-Point-Zahlen wird durch SetFormat bestimmt, sofern dessen langsamer Modus verwendet wird; andernfalls wirkt sich SetFormat nur auf die Formatierung aus, wenn die Zahl in eine Zeichenkette umgewandelt wird.
Wenn leer oder weggelassen, wird standardmäßig 2147483647 verwendet. Andernfalls geben Sie die größte generierbare Zahl an. Kann negativ, eine Floating-Point-Zahl oder ein Ausdruck sein. Der höchste zulässige Wert für Integer ist 2147483647. Floating-Point-Zahlen unterliegen keinen Einschränkungen.
Dieser Modus setzt den Zufallszahlengenerator unter Verwendung von NeuerSeed zurück, fachsprachlich Reseeding genannt. Dieser Parameter kann ein Ausdruck sein. Reseeding hat Einfluss auf alle danach generierten Zufallszahlen. NeuerSeed muss ein Integer zwischen 0 und 4294967295 (0xFFFFFFFF) sein. Reseeding kann die Qualität/Sicherheit der generierten Zufallszahlen verbessern, insbesondere wenn es sich bei NeuerSeed um eine echte Zufallszahl handelt, nicht um eine von minderer Qualität wie eine pseudozufällige Zahl. Normalerweise ist es nicht erforderlich, Reseeding mehr als einmal durchzuführen.
Wenn das Skript nie ein Reseeding durchführt, beginnt der Seed mit den niederwertigen 32 Bits des 64-Bit-Wertes, der die Anzahl der 100-Nanosekunden-Intervalle seit dem 1. Januar 1601 darstellt. Dieser Wert wandert alle ~7.2 Minuten von 0 bis 4294967295.
Dieser Befehl generiert eine pseudozufällige Zahl - also eine Zahl, die eine echte Zufallszahl vortäuscht, aber in Wirklichkeit auf Basis einer komplizierten Formel berechnet wurde, um das Bestimmen/Erraten der nächsten Zahl extrem zu erschweren.
Jede Zahl innerhalb des angegebenen Bereichs hat ungefähr die gleiche Chance, generiert zu werden (siehe aber "Bekannte Einschränkungen" weiter unten).
Wenn Min oder Max einen Dezimalpunkt enthält, ist das Endergebnis eine Floating-Point-Zahl im via SetFormat gesetzten Format. Andernfalls ist das Ergebnis ein Integer.
Bekannte Einschränkungen für Floating-Point: 1) Es können nur ca. 4294967296 eindeutige Zahlen für einen bestimmten Bereich generiert werden, folglich werden alle anderen Zahlen in dem Bereich nie generiert; 2) Gelegentlich kann ein Ergebnis geringfügig größer sein als der angegebene Max-Wert (dies ist zum Teil auf die Ungenauigkeit von Floating-Point-Zahlen zurückzuführen).
Generiert einen zufälligen Integer im Bereich von 1 bis 10 und speichert ihn in rand.
Random, rand, 1, 10
Generiert eine zufällige Floating-Point-Zahl im Bereich von 0.0 bis 1.0 und speichert sie in rand.
Random, rand, 0.0, 1.0
This function uses the Mersenne Twister random number generator, MT19937, written by Takuji Nishimura and Makoto Matsumoto, Shawn Cokus, Matthe Bellew and Isaku Wada.
The Mersenne Twister is an algorithm for generating random numbers. It was designed with consideration of the flaws in various other generators. The period, 219937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines. For more information see the inventors' web page at www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Do NOT use for CRYPTOGRAPHY without securely hashing several returned values together, otherwise the generator state can be learned after reading 624 consecutive values.
When you use this, send an email to: m-mat@math.sci.hiroshima-u.ac.jp with an appropriate reference to your work.
Dies wurde bereits für AutoHotkey getan, aber wenn Sie den Random-Befehl in einer öffentlich zugänglichen Anwendung verwenden, sollten Sie der oben genannten Person eine E-Mail schicken, um sich zu bedanken.