In der Rekursionsformel für den Zufallsgenerator heißt es x[n+1] = (a*x[n] + 1) mod 2^32
Es wird der Rest der Division durch 2^32 als neue Zufallszahl ausgegeben. Ist das gleichbedeutend mit shr 32? shr ist doch eher äquivalent zu div?
Das
mod 32 wird schon durch den Wertebereich von
longint erledigt. Das Shiften ist zum Aufbereiten der Ausgabe.
Wie liefert Radom eine Kommazahl, wenn wir ausschließlich mit Ganzzahlen rechnen?
Man kann das auf Bitebene regeln. Andererseits kann man einfach 2^32-1 durch die 32bit Zufallszahl teilen (nicht durch 0 teilen).
Satty67 hat sich
hier auch ein paar Möglichkeiten überlegt.