언어 자료구조 알고리즘/C언어 예제

간단하게 Random함수 만들기

언제나휴일 2009. 8. 19. 05:47
반응형

먼저 3.2GHz컴퓨터다라는 말을 많이 들었을 것입니다.

여기서 3.2GHz라는 말은 CPU클럭이 1초에 3.2 * 1,000,000,000 번 발생한다는 것입니다.

즉, CPU의 연산 처리 속도와 관련이 있다는 것이구요. 

BOOL QueryPerfomanceOunter(LPLARGE_INTERGER *pli);는 발생한 클럭 수를 얻어오는 interface입니다.

이를 이용해서 간단히 Random을 만들 수 있습니다. 

물론, spirit한 정도가 균등하면서 동시에 Random한 좋은 Random이라고 할 수 없겠지만

굉장히 좋은 Random함수가 필요한 것이 아니라면 큰 문제가 되지 않을 것입니다.
물론, 있는 거 걍 사용하는 게 더 낫겠지만...

#include <windows.h>
#pragma warning (disable:4244)
int MyRandom(int max)
{
     LARGE_INTEGER li ;
     QueryPerformanceCounter(&li);
     return (li.QuadPart%max);
}

반응형