Как компьютеры генерируют случайные числа?

682
ruben_KAI

Как компьютер генерирует «случайные» числа?

Насколько близко к действительно «случайному» может быть число, сгенерированное компьютером?

Существует ли язык программирования / программирования, который может генерировать более «действительно случайное» число, чем другие?

1
http://stackoverflow.com/questions/3996904/generate-random-integers-between-0-and-9 duDE 9 лет назад 0
Этот вопрос кажется пограничным не по теме. Вторая часть наверняка лучше подходит для StackOverflow, чем для SuperUser. Ajedi32 9 лет назад 0
Как было отмечено ниже, этот вопрос [Чем отличаются псевдослучайные и действительно случайные числа и почему это важно?] (Http://superuser.com/q/712551/820) очень полно отвечает на вопрос о случайности. heavyd 9 лет назад 1

1 ответ на вопрос

4
heavyd

Many common implementations of random number generators, are not truly random. Computers typically utilize Pseudorandom Number Generators, which means the computer uses a defined algorithm to generate a sequence of numbers that appear to be random.

In Python you can use the random module to generate pseudorandom numbers. However, if you look at the docs, they include this note:

Warning The pseudo-random generators of this module should not be used for security purposes. Use os.urandom() or SystemRandom if you require a cryptographically secure pseudo-random number generator.

@duDE, только половина вопроса не по теме. Я думаю, что другая половина полностью по теме и интересный вопрос. heavyd 9 лет назад 4
Связанный вопрос SU: [Чем отличаются псевдослучайные и действительно случайные числа и почему это важно?] (Http://superuser.com/questions/712551/how-are-pseudorandom-and-truly-random-numbers-different-and -почему-делает-это дело? RQ = 1) Ƭᴇcʜιᴇ007 9 лет назад 1