Страницы

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

воскресенье, 8 марта 2020 г.

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

#c #случайные_числа #генерация_случайных_данных


Вопрос чисто философского характера:

Можно ли полагаться на базу рандомизации при генерации идентичных последовательностей
на разных устройствах?

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

P.S В основе вопроса - функция srand из стандартной библиотеки C.
P.P.S В разных компиляторах получаются разные последовательности.
    


Ответы

Ответ 1



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

Ответ 2



В случае одного и того же компилятора на разных машинах, например - да. В случае разных компиляторов - нет.

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

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