//MSDN
무작위화
범위 내에서 임의의 정수를 생성하려면 다음 수식을 사용하십시오. Int((upperbound-lowerbound+1)*Rnd+lowerbound)
여기서 upperbound는 난수 범위의 상한이고, lowerbound는 난수 범위의 하한이다.
----VB의 무작위 함수는 Rnd인데, 그것을 사용하는 과정에서 프로그램이 시작된 후 생성된 값은 무작위임에도 불구하고 프로그램은 매번 동일한 난수 시퀀스를 생성한다는 것을 발견했습니다. 다시 시작했습니다. 어떻게 해야 하나요?
----VB에서 무작위 함수의 프로토타입은 다음과 같습니다. Rnd(숫자) Rnd 함수는 1보다 작지만 0보다 크거나 같은 값을 반환합니다. number 값(선택 사항)에 따라 Rnd가 난수를 생성하는 방법이 결정됩니다. 난수를 생성하는 방법이 결정되어 있기 때문에 Random 함수가 시작될 때마다 처음에 주어진 시드가 동일한 시퀀스를 생성하게 됩니다. Rnd 함수가 호출될 때마다 시퀀스의 이전 숫자가 시드로 사용되기 때문입니다. 다음 번호를 위해.
----실행 중인 프로그램이 Random 함수를 호출할 때마다 다른 난수 시퀀스를 가지려면 Rnd를 호출하기 전에 먼저 매개변수 없는 Randomize 문을 사용하여 시스템 타이머에 따라 얻은 시드가 있는 난수 생성기를 초기화합니다. 이런 식으로 Rnd를 다시 호출하면 다른 난수 시퀀스를 받게 됩니다.
----또한 Randomize의 작동 원리에 따라 사용자는 자신만의 무작위 함수를 컴파일할 수도 있습니다. 즉, Timer 함수를 사용하여 자정부터 지금까지 경과된 초 수를 얻은 다음 "계산"할 수도 있습니다. 감쇠' 처리를 통해 얻어지는 랜덤값의 크기에 따른 값을 진정한 랜덤값이라고 할 수 있다.