@@Nick:
nuqneH
Ja, ich schrieb doch, dass ich die Problemstellung geändert habe:
Jetzt habe ich versucht eine Zahl zwischen 24bit und 32bit zu erzeugen...
Du meinst eine aus dem Intervall [2²³, 2³²[?
Dann ist modulo (%) 2³¹ ebenso falsch wie es 2³² wäre. Es muss modulo 2³² − 2²³ sein.
Das heißt, du erzeugst eine Zufallszahl aus [0, 2³² − 2²³[ und addierst dann 2²³.
Nur dass das auf einem 32-Bit-System kaum gehen dürfte; rand() % (-(1<<23)) liefert wohl keine brauchbaren Zufallszahlen.
Qapla'
--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)