integer 형태의 random 값 얻어 오는 방법?

air74의 이미지

안녕하세요.

integer 형태의 random 값 얻어 오는 방법에는 어떤 것이 있을까요?

쉬운것 같으면서도 어렵네요.

정태영의 이미지

microtime 을 얻으신 담에.. 얻으시려는 숫자 범위로 나눠주세요..

0~255 사이의 값을 얻으시려면..
microtime()%255 식으로 :)

(php에선 microtime 이란 function 이 있었는데.. 그그.. time 관련 함수들 찾아보면 =3=33)

아 그리고.. 꼭 구지 저렇게 안해도..
srand 으로 하는 아주 간단한 방법도 있지요

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

linuxgood의 이미지

random() 함수 쓰면 되지 않을까요?
아래는 10번 랜덤한 integer 값을 보여주는 코드

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        int main(void)
       {
        int i, j;
        for(i=0;i<10;i++)
        {
           j = random();
          printf("%d\n",j);
       }
       getchar();
     }

}

익명 사용자의 이미지

* 참고로, 시스템에 따라(Fedora, BSD, 등), random()의 구현이 상이하며,
latency도 다양합니다. 시간에 critical한 응용을 위해서는, 그 latency를 예측가능하도록, 직접 random()함수를 제작해서 사용하기를 권고합니다.
* secure random(진정한 랜덤이라고 봐야겠지요.)을 구현하는것도 논문거리가 될정도로 방대합니다.
* 진정한 랜덤이란, 도저히 예측 불가능한 수치가 나오는 랜덤함수를 의미합니다.