Генератор случайных чисел

Регистрация на сайте
GRATIS форум > Архивы > ** Компьютер
Апофигей
Кто может рассказать устройство генератора случайных чисел? Если логически помыслить, то это должна быть какая нибудь функция зависимости от постоянно меняющегося параметра, а именно - времени. Может быть кто-нить даже приведет текст программы, демонстрирующей его работу?
Frankenshtain
[Для просмотра ссылки зарегистрируйтесь]

А чё демонстрировать и так всё ясно: при обращении к определённому адресу памяти считывается не его содержимое, а случайное число.
Встраиваевыемые сейчас в чипсеты ГСЧ генерируют числа на основе своей температуры.
EvilAngel
Если просто, то генератор псевдослучайных чисел это просто периодическая функция, с большим периодом (значения этой функции могут быть сведены в таблицу), инициализация необходима для того чтобы функция начинала работу не с первого значения, а с некого другого, то есть это просто адрес входа в таблицу. Подробнее ищи про линейные когруентные генераторы и регистра сдвига с линейной обратной связью. С генераторами истинно случайных чисел сложнее, например в свое время существала специальная книга в которой приводилась таблица, содержачая миллион случайных чисел. Сейчас же чаще всего использую т различные аппаратные схемы, температурные датчики, измерители шумов и т.п. Неплохая идея измерять временные интервалы между нажатиями клавиш на клавиатуре.
Tornado
Смотря на сколько они у тебя должны быть случайны. Самый простой способ читать RTC и обрабатывать прочитаное значение какой то функцией чтоб расброс был побольше.
fatal error
А если сделать бесконечный цикл в котором например в регистр кладется 1 прибавляется по 1 с каждым циклом.Как доходит до тысячи сбрасывается .Выход из цикла осуществляется нажатием кнопки к примеру "генерировать псевдослучайное число".
Sinferno
Стандартные генераторы, которые встроены в различные языки обычно это переодические функции с очень большим периодом. Где-то я прочитал алгоритм еще для Алгол60 и реализовал его на Си и Паскале. Но если это связано с шифрованием, например, то ГСЧ должен быть круче.
Для получения случайного значения можно использовать текещее время (не само, а преобразовывать это значение) или координаты курсора мыши.