Что?
1) Я использовал конкретное число. 24. С какого перепуга вы решили, что в КДС я стану использовать 32?
2) Я привёл ссылку на Java, и там недвусмысленно говорится, что "раньше использовалось 30 бит, но это неправильно, и правильнее использовать 24 бита". Откройте же, наконец, ссылку на java, которую я приводил. Вот она: java.util.Random.nextFloat
Там 5 раз используется число 24. Как можно подумать, что "это мой возраст и т.п."?
Т.е. возвращаемся к 132: получается, я сразу сказал, что надо использовать 24 бита, откуда могут возникнуть разночтения -- вообще непонятно.
Предлагаю вам просто признать, что ошиблись, и что зря разводили демагогию.
Никакую тактику я не менял. Вопрос "какой период можно получить из трехбайтного числа и их четырехбайтного" непонятен.
Период повторений 2128-1 означает, что значения начнут полностью повторяться через 2128-1 запусков генератора (ну, возможно, где-то плюс-минус один -- думаю, не так важно).
Т.е. на вопрос "какой период у получающегося 32-bit unsigned int" ответ -- 2128-1
Какой период будет у значений, если их брать как AND(..., 224-1) -- не знаю.
Но есть наблюдение: ни на wikipedia, ни в исходной статье про xorshift не сказано, что "энтропия младших бит гораздо уже".
Поэтому, разумно полагать, что "даже если брать младшие 24 бита", то всё нормально.
Практически это подтверждается -- генератор, который использует 24 бита из 32 проходит большинство nist тестов.





