![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ano360 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 22.5.2006 Где: Москва Репутация: нет Всего: нет |
Как работает random() или rand()
каким образом генерируют случайные числа Просто для расширения кругозора интересно было бы узнать, каким образом компьютор модет выдать случайное число. Откуда он его бкрёт. Там кажется что-то со времяем связано -------------------- Жизнь есть. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Они псевдо случайны, и вычисляются на основе формулы с некоторым начальным значением, которое может быть как функция времени. есть несколько алгоритмов. http://en.wikipedia.org/wiki/Random_number_generator |
|||
|
||||
| Romikgy |
|
||||||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
по крайней мере в билдере
вот реализация _lrand (т.к. работа идет с двойными словами, мя схарило переводить на си)
все колы (ф_ции) идут сюда (смысл их я не понял
Это сообщение отредактировал(а) Romikgy - 16.1.2007, 23:07 -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||||||
|
|||||||||
| KpoHyc |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 23.12.2006 Где: Санкт-Петербург Репутация: нет Всего: 5 |
вот пример работы рандома:
--------------------
AScript + Pascal + C -> C++ ->C#Adobe Photoshop 7.0/CS 2.0 + GIMP+ Visual Studio .NET(sp1)/2005 pro(sp1) |
|||
|
||||
| ano360 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 22.5.2006 Где: Москва Репутация: нет Всего: нет |
Немного понятно К сожалению английским владею плохо Romikgy-и асемблера я тоже не знаю
Можно поподробней смысл этого кода. в часности строку (z>>10)&0x7fff;
-------------------- Жизнь есть. |
||||||
|
|||||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
надеюсь , хоть что такое шестнадцатиричные числа ты знаешь что это.
есть переменая z которая имеется одна грубо говоря в твоей проге и отвечает за генератор случ. чисел так вот при твоей просьбе дать те число случайное происходят такие действия число зет умножается на и после этого к нему добавляется единица далее для получения ответа мы сдвигаем число зет на 10 битов вправо и делаем логическое и с ниже приведеным числом все эти сдвиги и логические операции нужны для того чтобы ответ те был дан в пределах разумного числа! (по разрядности) -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| ano360 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 22.5.2006 Где: Москва Репутация: нет Всего: нет |
Romikgy-круто
-------------------- Жизнь есть. |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 1 Всего: 8 |
По аналогии с соседней темой
вот тут все в полном объеме: Дональд Э. Кнут Искусство программирования том 2 |
|||
|
||||
| PoloS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 29.12.2006 Где: МО, г. Одинцово Репутация: 1 Всего: 5 |
начало =) ЗЫ. Плагиат |
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 1 Всего: 16 |
||||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
имхо спрашивали как работает стандартное , а не как написать свое
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| PoloS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 29.12.2006 Где: МО, г. Одинцово Репутация: 1 Всего: 5 |
Просто для расширения кругозора интересно было бы узнать, каким образом компьютор модет выдать случайное число. Откуда он его бкрёт. Там кажется что-то со времяем связано |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Да это стандартный линейный конгруэнтный метод, чё тут обсуждать
Каждое следующее значение будет зависеть от предыдущего "сгенерированного" значения(начальное значение задаётся значением seed). -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |