How can I seed srand() with time in microseconds in Visual Basic/C++?

  • Context: C/C++ 
  • Thread starter Thread starter pazmush
  • Start date Start date
  • Tags Tags
    Seed
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 8K views
pazmush
Messages
32
Reaction score
0
Hi

Im using Visual basic c++ and was wonderig what the easiest way was to seed srand() with the time in microseconds is.

Thanks
 
on Phys.org
pazmush said:
Im using Visual basic c++
Which do you mean ?
If you mean c++ you can seed srand() with QueryPerformanceCounter() it's the nearest you will get to a microsecond timer on windows.
 
Cool that seems like a good plan, unfortunately, i don't know how to use QueryPerformanceCounter(), do you think you could explain it a little bit?

Thanks
 
Easy:

Code:
#include <windows.h>

int main()
{
  LARGE_INTEGER cicles;

  QueryPerformanceCounter(&cicles);
  srand (cicles.QuadPart);

  return 0;
}
 
pazmush said:
Hi

Im using Visual basic c++ and was wonderig what the easiest way was to seed srand() with the time in microseconds is.

Thanks

There is no such thing as Visual basic c++. There is Visual Basic and there is C++, they are too completely different languages. There's also Visual Studio which contains the Visual C++ compiler.

Also, there is almost no conceivable reason why you should want to seed the RNG with microsecond precision. If you're doing multiple experiments and you want random initial values, you should be doing them in the random sequence from 1 initial seed, not re-seeding it each time.