C에서 0과 1 사이의 무작위 이중 번호를 생성하고 싶습니다. 다음 코드 을 사용하여 생성했지만 여전히 0.0000으로 p 값을 얻고 있습니까? 아무도 나를 도울 수 있습니까?C 언어의 random.nextDouble 구현 방법
double p;
int max;
int min;
max=1;
min=0;
p= (double)(rand() % (max - min + 1) + min);
C에서 0과 1 사이의 무작위 이중 번호를 생성하고 싶습니다. 다음 코드 을 사용하여 생성했지만 여전히 0.0000으로 p 값을 얻고 있습니까? 아무도 나를 도울 수 있습니까?C 언어의 random.nextDouble 구현 방법
double p;
int max;
int min;
max=1;
min=0;
p= (double)(rand() % (max - min + 1) + min);
drand48
을 사용할 수 있습니다. 최신 C++ 11 표준에는 강력한 표준 임의 라이브러리가 있습니다.
drand48
을 사용하지 않으려면 다음과 같이 코드를 작성할 수 있습니다. ((double) (rand() % 10000000)) * 1.0e-6
하지만 권장하지 않습니다.
모든 정수가 1의 배수이기 때문에 항상'rand() % 1'을 계산하기 때문에 이것은 작동하지 않습니다. –