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