2016-04-24 5 views
1

У меня есть два вопроса:Действительно случайные числа

  1. Пожалуйста, объясните мне смысл действительно случайного числа. Я читал много статей, но я не мог понять смысла.

  2. Пожалуйста, объясните мне код за Rand() функцию на любом языке предпочтительно C++

ответ

2
  1. Действительно случайное число такое, что было определено с помощью физически случайного события (непредсказуемые события в природе). например (радиоактивный распад атома, атмосферный шум и т. д.). Причина такова в том, что компьютер не имеет возможности быть по-настоящему случайным сам по себе, однако природа есть. Поэтому, если компьютер измеряет какое-то случайное значение в природе, тогда число «действительно случайное», но псевдоопределение - это то, где компьютер генерирует семя (C++ использует время для генерации семени), и случайное число кажется случайным, но может быть предсказаны.

«Компьютер использует функцию для вычисления случайных чисел. Это означает: имея одно и то же семя, мы получаем одну и ту же строку случайных чисел каждый раз. Поэтому псевдослучайные числа». - Ralph M. Rickenbach

  1. C++ использует время, количество секунд с полуночи 1 января 1970 года. Поэтому, когда вы говорите компьютеру о производстве случайного числа, оно занимает несколько секунд с тех пор 1 января 1970 года (очень большое число, семя) отправляет его по алгоритму, а затем прерывает его, чтобы удовлетворить заданный вами диапазон.

Это заставляет компьютер считывать свои часы, чтобы автоматически получить значение для семени. Функция возвращает количество секунд, прошедших с полуночи 1 января 1970 года. Это значение преобразуется в целое число без знака и используется как семя для генератора случайных чисел.

Это, конечно, упрощение, больше можно прочитать в Интернете. Ниже приведены ссылки.

Ссылки:

Truly random

c++ docs

+0

Когда вы размещаете ответ в то же самое точное время, но другой человек лучше. Хороший пост! – Li357

+0

Счастье! Спасибо за ваш пост, это тоже помогло :) – Li357

+1

По вашему мнению, псевдо и истинные случайные числа одинаковы? ..Кроме того, определение, которое вы указали для истинных случайных чисел, относится к псевдослучайным числам, как указано в Википедии. – hstg

0

Краткое резюме:

Истинный случайное число является числом вы не можете рассчитывать ни при каких обстоятельствах, что порождается некоторым событием, а вычисляется случайное число, вычисленное функцией Rand().

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

См this question для получения более подробной информации о том, как она работает в (объективно-в данном случае) C.

Смежные вопросы