Programming/Algorithm

빠르게 랜덤변수 발생시키기

decdream 2016. 2. 17. 08:54

int g_seed;

int fastrand() {


g_seed = (214013 * g_seed + 2531011);

return (g_seed >> 16) & 0x7FFF;

}


기존에는 아래와 같은 방식으로 랜덤 변수를 생성하였었다.

time_t seconds;

time(&seconds);

srand((unsigned int)seconds);

//srand((unsigned)time(0));

v0 = rand() % 10;


하지만 이 방식은 초당으로 seed 가 변해서 그런지, 랜덤숫자가 빠르게 변하지 않는 단점이 있다.


이 대신에 fastrand 를 사용하면, 빠른 속도로 랜덤한 변수를 얻을 수 있다.