본문 바로가기

프로그래밍

[프로그래밍] rand 함수의 gcc에서와 vc 에서의 차이점

rand 함수는 다들알고 있듯이 난수 발생함수이다.

보통 0~9사이의 랜덤함수를 생성할 경우 rand()%10 정도로 사용하기도 한다.

이처럼 비교적 작은 범위의 난수를 발생하기에는 무리가 없겠지만

수의 범위가 16bit가 넘어갈경우 gcc와 vc에서 서로 문제가 생길수 있다.

gcc에서의 rand 함수는 31비트 값의 난수를 발생시키지만

vc에서는 15비트의 난수를 발생하고 있다.

값이 크면 문제가 되지 않겠지만 gcc에서 vc로 포팅시 문제가 발생 할 수 있다.

이경우 아래 31비트 난수 발생 코드를 참조하여 해결 하면 될 것이다.


하지만!!! 속도는 보장하지 못한다.