|
Rand
|
|||
---|---|---|---|
#18+
И снова про о псевдогенераторе случайных чисел Rand . :) Обратил внимание, что отдельно эта функция после запуска ПО выдает одно и тоже значение на разных ПК, если находится в теле программы "до" возникновения событий при участии пользователя. А значение её зависит от месторасположения в коде этой функции, но остается для частного случая местонахождения постоянным и на других ПК, и при перезапуске программы. О чем это может говорить? От чего Rand себя так ведет? А может он всетаки отталкивается от (например) количества прошедших после запуска ПО событий, вызовов функций, и т.п.? P.S. А может мне это только кажется? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 11:56 |
|
Rand
|
|||
---|---|---|---|
#18+
AISИ снова про о псевдогенераторе случайных чисел Rand . :) Обратил внимание, что отдельно эта функция после запуска ПО выдает одно и тоже значение на разных ПК, если находится в теле программы "до" возникновения событий при участии пользователя. А значение её зависит от месторасположения в коде этой функции, но остается для частного случая местонахождения постоянным и на других ПК, и при перезапуске программы. О чем это может говорить? От чего Rand себя так ведет? А может он всетаки отталкивается от (например) количества прошедших после запуска ПО событий, вызовов функций, и т.п.? P.S. А может мне это только кажется? ;) Начальное значение rand() при старте программы всегда одинаковое, если не вызывали randomize() или неявно (из какой-то библиотеки) rand(). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 12:37 |
|
Rand
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyНачальное значение rand() при старте программы всегда одинаковое, если не вызывали randomize() или неявно (из какой-то библиотеки) rand(). Помоему значения будут разные если один раз вызвать (например) в событии "Open" приложения, а другой раз после (например) завершения открытия MDI. Но эти два значения действительно всегда одинаковы на разных ПК. Это так? P.S. "Randomize", насколько я понимаю, только дает начальное какое-то смещение. Но даже в паре эффект, описанный выше, сохраняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 12:56 |
|
Rand
|
|||
---|---|---|---|
#18+
AISAnatoly MoskovskyНачальное значение rand() при старте программы всегда одинаковое, если не вызывали randomize() или неявно (из какой-то библиотеки) rand(). Помоему значения будут разные если один раз вызвать (например) в событии "Open" приложения, а другой раз после (например) завершения открытия MDI. Но эти два значения действительно всегда одинаковы на разных ПК. Это так? P.S. "Randomize", насколько я понимаю, только дает начальное какое-то смещение. Но даже в паре эффект, описанный выше, сохраняется. Поскольку вы не контролируете кто и как вызывает randomize() или rand() за пределами вашего кода, то вы можете рассчитывать на повторяемость результатов только внутри одной функции и только если начальное значение установлено в этой функции через randomize(ненулевая_константа). Все остальное - гадание на кофейной гуще. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2011, 14:54 |
|
Rand
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky , Вы знаете, а ведь меня именно это и интересует. Мне почему-то кажется, что из этого может получится неплохая защита от модификации "открытого" кода. Т.е. если что-то было изменено, то где-то на N-ом этапе в скрипте можно проверить значение "rand", и если оно отличается от расчетного, то "Здравствуй Хакер" (шутка). Вы думаете, что это бред? А может это тот "велосипед" от которого можно дальше "плясать"? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2011, 00:14 |
|
|
start [/forum/topic.php?fid=15&msg=37182674&tid=1335761]: |
0ms |
get settings: |
23ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 426ms |
0 / 0 |