Страницы

Поиск по вопросам

четверг, 30 мая 2019 г.

Можно ли рассчитывать идентичные последовательности на основе srand?

Вопрос чисто философского характера:
Можно ли полагаться на базу рандомизации при генерации идентичных последовательностей на разных устройствах?
Например, задав некоторую базу(srand) и cгенерировав 100 чисел, можно ли быть уверенным в том, что именно эти самые числа будут сгенерированы с той же базой на более быстром/медленном по частоте процессора компьютере/телефоне etc..?
P.S В основе вопроса - функция srand из стандартной библиотеки C. P.P.S В разных компиляторах получаются разные последовательности.


Ответ

Нет, нельзя. Реализация srand зависит от используемой стандартной библиотеки языка C - а она на разных компьютерах может отличаться. И даже на одном и том же компьютере она может отличаться. Даже если собирать одним и тем же компилятором.
Если вам требуется переносимый детерминированный генератор псевдослучайных чисел - его лучше написать самостоятельно.

Комментариев нет:

Отправить комментарий