⚡️ Генератор случайных чисел всего из трёх XOR и сдвигов
⚡️ Генератор случайных чисел всего из трёх XOR и сдвигов В 2003 году Джордж Марсалья представил xorshift — один из самых простых и быстрых генераторов псевдослучайных чисел. Пример xorshift32: uint32_t xorshift32(void) { state ^= state << 13; state ^= state >> 17; state ^= state << 5; return state; } Вся суть алгоритма: сдвиг → XOR сдвиг → XOR сдвиг → XOR С ненулевым начальным состоянием период может достигать 2³² - 1. Алгоритм не использует умножения и деления, поэтому идеально подходит для игр, симуляций и процедурной генерации, где важна скорость. Но есть важное "но": xorshift не подходит для криптографии. Его состояние предсказуемо, поэтому для ключей и токенов нужны криптографически стойкие генераторы. Иногда действительно полезный алгоритм помещается всего в три строки.
Канал в каталоге MAXimeter
13 050 подписчиков · IT и технологии