информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Как сделать аналог rand() ?? 20.02.02 23:42  Число просмотров: 1204
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
A c run-time tiazhelo posmotret~
unsigned long g_seed;
#define MY_RAND_MAX 0x7fff

void __cdecl my_srand (unsigned int seed)
{
    g_seed = seed;
}


int __cdecl my_rand (void)
{
    return(((g_seed = g_seed * 214013L + 2531011L) >> 16) & MY_RAND_MAX);
}



---
dlia min -> max

current = ((float)rand()*(max - min))/MY_RAND_MAX + min;

<programming>
[C++] Как сделать аналог rand() ?? 20.02.02 22:06  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
srand() и rand() не могу юзать, нету рантайма,
есть у когонить мысли или сурсы, как сделать свою функцию, генерящую рандом числа,
желательно в нужном диапазоне :))

за ранее спасибо!!
[C++] Попробуй так: 21.02.02 01:29  
Автор: Korsh <Мельников Михаил> Статус: Elderman
<"чистая" ссылка>
Если тебе самую простую, то возьми рекурентное соотношение с сочитаниями ограниченных функций типа:
Next=A*cos^2(Prev/10)+B*exp(sin(1/Prev));
ченить такое начальный параметр сам придумай,
а потом нормируй на любое число
и получится конкретно заданный диапазон от псевдослучайного генератора.
Я на Мат. моделировании именно такой генератор и написал, причём он не очень сильно отличался от стандартного сишного rand()`а.
Если хош потом и исходники кину.
А вообщето способов миллион(ну или почти миллион :) )
[C++] Попробуй так: 21.02.02 01:47  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
А попо дробнее можно??

подойдёт и простой генератор,
главное тчо бы работал нормально
[C++] Как сделать аналог rand() ?? 20.02.02 23:42  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
A c run-time tiazhelo posmotret~
unsigned long g_seed;
#define MY_RAND_MAX 0x7fff

void __cdecl my_srand (unsigned int seed)
{
    g_seed = seed;
}


int __cdecl my_rand (void)
{
    return(((g_seed = g_seed * 214013L + 2531011L) >> 16) & MY_RAND_MAX);
}



---
dlia min -> max

current = ((float)rand()*(max - min))/MY_RAND_MAX + min;

[C++] Как сделать аналог rand() ?? 21.02.02 00:42  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
мля, это я знаю, тут надо ещо юзать time() вместе с srand()
а time() не хочет компилица,
есть какиенить другие варианты??
Получи dd из: 21.02.02 01:18  
Автор: Chingachguk <Chingachguk> Статус: Member
Отредактировано 21.02.02 01:20  Количество правок: 1
<"чистая" ссылка>
> мля, это я знаю, тут надо ещо юзать time() вместе с srand()
> а time() не хочет компилица,
> есть какиенить другие варианты??

Получи dd из:

; RDTSC
db 0Fh, 31h

в edx:eax.

но лучше eax.
[C++] Как сделать аналог rand() ?? 21.02.02 00:54  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> мля, это я знаю, тут надо ещо юзать time() вместе с srand()
> а time() не хочет компилица,
> есть какиенить другие варианты??

voobcheto pri chem tut time??
seed eto luboe chislo :
mozhesh naprimer ispolzovat` summ handlov processov ili eche kak s generirivat` ( a gde eto ty compiliruesh chto tam net time?)
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach