프로그래밍/C언어

난수생성 C언어

콘파냐 2013. 5. 16. 21:56

 

//설명 : rand() 함수는 난수를 발생시킨다. 보통 random() 이나 randomize()로 사용한다.

다른 방법을 소개하겠다.

위 코드는rand 함수로 0~99까지의 난수를 발생시킨다.

srand는 난수를 시드를 받아서 그수에 매핑해서 난수를 발생시킨다.

범위가 일정한 난수를 그때 그때 다르게 발생하려면 시드를 계속 바꾸면서 난수를 생성하면 된다.

time은 1970년 1월1일 00시00분00초 를 기준으로 주어진 시간값까지 지난 시간을 리턴해준다.

NULL인경우 현재를 나타낸다. 기발하다.

 

**참고 random 함수는 기본라이브러리에 포함되지 않은듯 하다.

 

rand 함수 - #define Rand_MAX 0x7fff 단점 : 실행시킬때마다 난수의 발생 순서가 동일하다.

(컴퓨터마다 다른지 어떤지는 알수없지만, 컴퓨터마다 다른듯하다.)

random - rand함수를 이용하여 만든 매크로함수 (터보c)

사용법 - random(10) 0~9까지의 수중 랜덤생성, random(10)+10 10~19까지의 난수발생, random(10)*2 짝수발생.....

srand함수 - 시드가 난수발생의 초점이된다. randomize 매크로함수에 사용된다.

randomize - srand 함수의 매크로함수 (터보c)

!여기선 매크로함수는 사용하지않도록하겠다. 라이브러리에 포함되지 않을 수 있기때문이다.

반응형