The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Random генератор"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Random генератор"
Сообщение от didimor Искать по авторуВ закладки on 29-Сен-02, 20:07  (MSK)
Народ подскажите кто может!
Есть такой код по винду на С:
int seed = 100; // Может быть любым числом
int randnum[100];
srand( seed );
for(int i=0;i < 100;i++) {
randnum[i] = rand() % 256;
}
Получили цепочку 'случайных' чисел. Причем последовательность
одинакова если seed одно и то же.

Теперь на Перле под Линух:
$seed = 100;
@randnum = ();
srand $seed;
for($i=0;$i<100;$i++) {
push @randnum, int rand(256);
}
и получаем СОВСЕМ другую последовательность!
Что не так?
Заране всем спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Random генератор"
Сообщение от sas emailИскать по авторуВ закладки on 01-Окт-02, 05:33  (MSK)
>Народ подскажите кто может!
>Есть такой код по винду на С:
>int seed = 100; // Может быть любым числом
>int randnum[100];
>srand( seed );
>for(int i=0;i < 100;i++) {
> randnum[i] = rand() % 256;
>}
>Получили цепочку 'случайных' чисел. Причем последовательность
>одинакова если seed одно и то же.
>
>Теперь на Перле под Линух:
>$seed = 100;
>@randnum = ();
>srand $seed;
>for($i=0;$i<100;$i++) {
>push @randnum, int rand(256);
>}
>и получаем СОВСЕМ другую последовательность!
>Что не так?
>Заране всем спасибо.

Hi,

It depends on which random number generator is used. In C it is simple one, but even simple ones can produce different output (implementation difference). If you need always same output with the same seed, then you should use "deterministic" generator.

Also If you have 2 programs (for example one running on Windows and second on Linux ) using different random generators (algorythms), then you should not expect to have exactly same output even with the same seed.

So if you do not like builtin Perl functions, then
take a look at the Perl's Math:TrulyRandom or Math:PRSG.

Hope it helps
--- sas

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру