Ich kenne den von dir beschriebenen Algorithmus nicht, aber bedeutet das, dass sich keine Zahl wiederholt, ehe die ganze Folge durch ist? Dann wäre das ja ein großer Nachteil!? Oder habe ich da jetzt was falsch verstanden?
Wenn die ganze Bandbreite an Zahlen genutzt wird kann das in der Tat ein Nachteil sein, da ja aber im beschriebenen Fall nur die unteren Bits benötigt werden ergibt sich daraus ja eine Ergebnisreihe in der die Zahlen durchaus mehrfach vorkommen.
Es empfiehlt sich den PRNG immer um mindestens Faktor 2-3 größer zu wählen als man die Ergebnisse benötigt. Wenn du den (ebenfalls sehr flotten) 16-Bit-Algo nimmst sind Zufallszahlen bis in eine Größenordnung von 10k kein Problem. Zur besseren Gleichverteilung dann siehe unten.
Imho nur, wenn 00-ff eine durch 6 Teilbare Anzahl wäre. Bei 255 bleibt aber ein Rest von 3, die Zahlen 4-6 kommen daher 1mal seltener vor.
Siehe dazu meine Postings vorher - die Verteilung ist nicht komplett gleichförmig, sondern liegt bei 43:43:43:43:42:42. Modulo ergibt ebenfalls diese Verteilung- nicht komplett eben, aber sehr nahe dran. Um das zu umgehen müsste ein Algorithmus direkt nur sechs Zahlen generieren. Da aber eigentlich alle Zufallszahlen im Rechner auf Berechnungen aufbauen und der nunmal im Binärsystem arbeitet wird das schwierig. Der vorgestellte Algo ist schnell und bietet im Binärraum eine Gleichverteilung aller Ergebnisse, das ist schonmal nicht schlecht.
Man könnte noch alle $ff Durchläufe zum Ergebnis (also vor dem Modulo) eins mehr addieren, damit verschiebt sich dann die Verteilung immer um eine Spalte nach rechts, also bei der ersten Addition zu 42:43:43:43:43:42, usf.
Immer noch nicht perfekt, aber auf Dauer nivelliert sich das dann.