Nick: C++ (Pseudo-)Zufallszahl generieren

Beitrag lesen

random24 = rand() * 2^23 + 2^23;

Kann es sein, dass dir ein Fehler passiert ist? Müsste es laut der Reference nicht

random24 = rand() % (2^24 -1) + 2^23

sein?

Dein Beispiel gibt mir wesentlich kleinere Zahlen als 8388608 (die kleinste 24bit Zahl). Oder habe ich etwas falsch verstanden? Müsste eine 24bit Zahl nicht zwischen 8388608 und 16777215 liegen? Binär also zwischen 1000 0000 0000 0000 0000 0000 und 1111 1111 1111 1111 1111 1111?