цикле и примерно на пятой итерации он начинает мне возвращать одно и то же число бесконечно то это проблема в коде или сисколл действительно может быть ненадежным?
Ты не слышал про псевдо-случайность?
нет( так и загуглить?
я знаю что реализация случайного числа всегда не 100% случайна, нужен алгоритм который создает иллюзию полной случайности, как в С с time.h например привязка к миллисекундам
А ты проверяешь, сколько тебе вернуло?
Да. Все верно. Ты при старте своего приложения один раз считыватель состояние внешнего мира (таймер), инициализирует свой генератор и дальше с ним и работаешь. Часы дергать не надо
угу, после пятой итерации примерно начинает одно и то же число возвращать
Попробовал. Либо ты делаешь что-то не так. Либо я делаю что-то не так. Чтение по байту: 89 49 c3 e7 7e 90 fe 6b e1 29 d7 a8 f2 fe 50 67 66 2d a2 ae ec e3 04 ce 85 4d ab 6f 67 6d f7 18 69 e1 cc 3c a4 c6 ab 25 a4 55 c3 e2 b5 6e 1f 7d 55 6e 6f 80 e7 9e e4 94 5c 10 5e 59 8a d2 cb 44
действительно все значения разные. я еще раз посмотрю в отладчике что происходит, но это странно конечно
mov eax,355 push eax mov ebx,esp mov ecx,1 xor edx,edx int 0x80 pop eax Код примерно такой, но тебе в прошлый раз предлагали указывать прямо целевой буфер.
то есть буфер не перезаписывать а прям сделать его большим чтобы много рандомных значений за один вызов получить?
Зависит от того, зачем тебе рандом. Но попросить 256 байт сразу вместо того, чтобы бедный сискол дёргать каждый раз кажется хорошей идеей.
мне 100 байт за глаза хватит, да. тогда так и сделаю, спасибо!
а вот теперь действительно заработало... про псевдослучайость надо почитать, видимо
Обсуждают сегодня