Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Skipper_N, Вы писали:
S_N>> Т.е. можно как-нибудь, задав то же стартовое значение, получить такую же последовательность случайных чисел как в C++ ?
А>Исходники CRT идут вместе со студией. У меня, например, в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\rand.c:
А>А>void __cdecl srand (
А> unsigned int seed
А> )
А>{
А> _getptd()->_holdrand = (unsigned long)seed;
А>}
А>int __cdecl rand (
А> void
А> )
А>{
А> _ptiddata ptd = _getptd();
А> return( ((ptd->_holdrand = ptd->_holdrand * 214013L
А> + 2531011L) >> 16) & 0x7fff );
А>}
А>
return( ((ptd->_holdrand = ptd->_holdrand * 214013L
+ 2531011L) >> 16) & 0x7fff );
Это что, вся реализация алгоритма получения рандомного числа что ли? А я то думал, что там какой сложный алгоритм.
Спасибо. Буду экспериментировать с исходниками.