СТАТЕЙКИ.ORG.UA
электронный каталог статей

Разбираемся с принципом работы генератора случайных чисел

комментариев: 0 / добавить комментарий

Механизм работы выдачи случайных значений

Все явления, которые с нами происходят, бывают двух типов – случайные и закономерные. Например, у вас недоставало для покупки магнитофона немножко купюр, и вы решили купить плеер – т.е. поступок является логичным и ожидаемым. Но, идя к магазину, вы обнаруживаете нужную сумму, которая случайным образом изменила планы. Работа генератора случайных чисел полностью зависит от заданного в оператор механизма, так что все числа, которые выдаются, в текущем событии являются псевдослучайными. Операторы, возвращающие случайные числа, обращаются ко времени, а именно системному. Т.е. как в мире, так и в программировании не бывает ничего всецело абсолютного.

Функция rand

В программировании на си, для получения случайных значений изобрели встроенные операторы, которые выдают нам требуемые результаты. И так, для создания случайного числа применяется функция rand, которая Оператор rand применяется для получения случайных чисел, которые возвращают диапазон от 0, и до определенной константы. Причем данная константа объявляется в системной директиве “stdlib.h”, там и базируется эта функция rand. Синтаксис этой функции прост: int m= rand(); т.е. выдается целое число. Опробовав оператор на практике, вы увидите, что появляющиеся числа при старте приложения идентичные. Оплошность заключается в том, что оператор rand работает с одним и тем же системным временем, которое сохранилось при компиляции. Данный генератор случайных чисел завязан на алгоритме изменения программного времени, то все работает неверно.

Теперь о srand и random

Для данной проблемы, незаменима была функция, которая б обнуляла встроенное время при каждом обращении к оператору rand, и разработчики ПО сделали функцию srand. Действие позволяет функции rand каждый раз обращаться не к установленному, а к текущему встроенному таймеру, что открывает возможность работать генератору верно – выдавать случайные значения. Недавно в языке программирования си ++ усовершенствовался механизм выдачи случайных чисел, из-за появления микросекунд. К тому же расширился диапазон значений, и все текущие новшества трансформировались в функцию random.

автор: Снежный Андрей
комментариев: 0 | просмотров: 303 | 26/08/2009
Читайте также:
Как обеспечить безопасность данных на вашем iPad, iPhone и iMac
Если вы будите соблюдать несложные правила, для защиты собственных дан ...
Оригинальные способы использования QR кода
Пользователи в разных уголках мира давно уже оценили удобство использо ...
Профессия системного администратора
Кто же такие системные администраторы и какой работой они занимаются. ...
Комментарии:
Администрация каталога не несет ответственности за информацию, размещенную посетителями сайта. Сообщения, оставленные на сайте, являются исключительно личным мнением их авторов, и могут не совпадать с мнением администрации каталога.
комментариев нет

ты можешь быть первым
* - поля, помеченные звездочкой, обязательны к заполнению.
Ваше имя*: (max 64 символа)
E-mail: (max 64 символа)
Комментарий*:
без HTML (min 20, max 1000 символов)


Ссылки на статью «Разбираемся с принципом работы генератора случайных чисел»:
URL
http://www.stateyki.org.ua/articles/razbiraemsya-s-printsipom-raboty-generatora-sluchainyh-chisel/
Ссылка
<a href="http://www.stateyki.org.ua/articles/razbiraemsya-s-printsipom-raboty-generatora-sluchainyh-chisel/">Разбираемся с принципом работы генератора случайных чисел</a>
BBCode
[url=http://www.stateyki.org.ua/articles/razbiraemsya-s-printsipom-raboty-generatora-sluchainyh-chisel/]Разбираемся с принципом работы генератора случайных чисел[/url]


Інтернет реклама УБМ
Наши партнеры
Покер онлайн
Биржи
etxt.ru
 

 

Інтернет реклама УБМ


Інтернет реклама УБМ