- Код: Выделить всё
Randomize 100500
Debug.Print Rnd
Randomize 100500
Debug.Print Rnd
Я ожидал, что будет выведено два одинаковых числа (Random seed у них одинаковый). Но этого не произошло.
Что же на самом деле значит параметр Number у Randomize?
Added:
http://msdn.microsoft.com/en-us/library/8zedbtdt.aspx
Написано, что одинаковых чисел и не должно быть.
Но вопрос "почему?" остаётся открытым.
Added2:
- Код: Выделить всё
Dim c As Long, a(1000) As Single
For c = 0 To 1000
Rnd -1
Randomize
a(c) = Rnd
Next
For c = 0 To 1000
Debug.Print a(c)
Next
Randomize берет за основу Timer с низкой точностью. Первый цикл проходит очень быстро, значение Timer не успевает измениться, и массив оказывается заполнен одинаковыми числами.
Так же будет и в других языках?