A Gangster World

  • 홈
  • 태그

rand 2

rand 함수의 올바른 사용

예전에 포스팅했던 방식으로 rand 함수를 사용하면 '일반적으로' 사용하던 범위가 생성되지 않는다. 예를들어 rand() % 1000은 [0, 999]의 범위를 지니는 반면 rand() * 1000 / RAND_MAX은 [0, 1000]의 범위를 가지게 된다. 또 rand()와 1000 혹은 더 큰 수를 곱할 때 오버플로우의 위험이 존재한다. GPG에서 illlust님이 이러한 문제를 제기하였고, visco님이 rand 함수를 제대로 사용하는 방법을 올려주셨다. 해당 글의 원문은 다음과 같다. GPG 논의 : http://www.gpgstudy.com/forum/viewtopic.php?t=19568 rand 함수의 올바른 사용 : http://members.cox.net/srice1/random/cra..

Game Dev/Article 2008.09.09

rand 함수의 올바른 분포

원문 : http://www.gpgstudy.com/forum/viewtopic.php?t=19568 1. rand() % 1000 2. rand() * 1000 / RAND_MAX 위의 경우 1번 보다는 2번의 연산이 더 정확한 분포를 보여준다. 그 이유는 다음과 같다. RAND_MAX가 32767이라고 할 때 나머지가 0~767인 것은 33개, 768~999인 것은 32개입니다. 그럼 나머지가 0~767인 것은 10,000,000/32768*33 = 10070번, 768~999인 것은 10,000,000/32768*32 = 9765번쯤 나온다고 예측할 수 있습니다. 따라서 Rand 함수를 이용하여 특정 범위의 수를 생성하려고 할 때 다음과 같이 프로그램을 작성해야 한다. srand(time(NULL)..

Game Dev/Article 2008.07.29
1
더보기
프로필사진

  • 분류 전체보기 (275)
    • Game Issue (48)
      • News (35)
      • Movie (13)
    • Game Dev (150)
      • Article (59)
      • Binary (26)
      • Scrap (24)
      • Work Log (22)
      • StarCrush (6)
      • CannonballDefen.. (2)
      • WarSimulation (11)
    • Hobby (29)
      • Football (7)
      • Game (18)
    • Daily (48)
    • Private (0)

Tag

FreeType, K리그, Enblic, IT 서적, wow, game engine, WebGame, Xbox360, PS3, 게임 소스, UE, 읽은 책, UnReal, google, Wii, Dekaron2, 게임개발자, D2, 1Q84, KOEI,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

  • To do list

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2026/01   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바