티스토리 뷰

Swift

Swift ) 랜덤함수 차이

Zedd0202 2017. 9. 11. 14:25
반응형

안녕하세요 :) Zedd입니다.

오늘은 Swift에서의 랜덤함수에 대해서 알아볼려고 해요 :)

시작할게요!



랜덤함수 차이



먼저, Swift에서 제공하는 랜덤함수는 세가지가 있어요.


● arc4random()

● arc4random_uniform(UInt32)

● drand48()

이렇게요 :)


똑같이 랜덤한 숫자를 생성하는 함수일텐데, 뭐가 다른 걸까요? 

하나씩 알아볼게요 XD


 arc4random()->UInt32

arc4random()은 리턴타입이 UInt32에요. UInt32니 0부터 2^32-1범위를 가지겠네요.

arc4random()이 뭘 리턴할지 조금 감이 오시나요?

네! 0과 2^32-1 사이의 난수를 반환합니다!

그게 다에요.....




 arc4random_uniform(UInt32)->UInt32

arc4random_uniform(UInt32)은 위에서 말한 arc4random()과 닮았네요. 뭐가다른걸까요?
arc4random_uniform(UInt32)는 파라미터로 UInt32를 받네요? (음수는 당연히 못받겠죠?)
그리고 다시 UInt32를 리턴합니다.

그럼 arc4random_uniform(UInt32)는 어떤 난수를 리턴하느냐!
0부터 우리가 파라미터로 넣은 UInt32-1사이의 난수를 리턴합니다..!!

예제를 볼까요?

var randNum = arc4random_uniform(500)//0~499사이의 난수

이렇게 말이죠. 만약 1부터 500까지 난수가 뽑히게 하고 싶다면 +1을 해주면 되겠죠? 


 drand48()-> Double

drand48()의 리턴타입은..! Double타입이네요.
네. drand48()는 0부터 1.0 사이의 난수를 리턴합니다. 
(이게 끝..)


크흠...랜덤함수를 사용해야 할 일이 생겨서 알아보던중에..궁금해서 글을 쓰게 되었네요 :)
도움이 되었으면 좋겠습니다 XD





반응형

'Swift' 카테고리의 다른 글

Swift ) Equatable  (4) 2017.09.18
Swift ) 크기가 정해진 2차원 배열 만들기  (0) 2017.09.18
Swift ) Any와 AnyObject의 차이  (1) 2017.09.10
Swift ) Set : insert와 update의 차이  (1) 2017.09.05
Swift ) String에서 특정 문자 제거  (0) 2017.09.02