적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/참고

[Swift] 나누기

hongssup_ 2022. 2. 11. 10:32
반응형

분수 값을 비교해야 하는데 문제가 생겼다. 

print(1/2) 하면 0.5 가 아니라 결과물로 0 이 출력된다. 

나누기 해서 소숫점까지 받아와야 할 때는, 나누기 하려는 인자들 또한 소숫점 형태로 넣어줘야 한다눙..

 

1/2의 /는

public func /(lhs: Int, rhs: Int) -> Int

Int 형식의 값을 받아와 Int를 반환

 

1.0/2.0 의 /는 

public func /(lhs: Double, rhs: Double) -> Double

소숫점 형식의 Double 값을 받아와 Double을 반환 (Float 도 상관업둠)

 

참고 : ZeddiOS - 나누기가 안될 때

 

* Float vs. Double

Float와 Double은 부동 소수점을 사용하는 실수이며, 부동소수 타입이라고 한다. 

스위프트에는 64비트 부동소수를 표현하는 Double과 32비트 부동소수를 표현하는 Float이 있다. 

64비트 환경에서 Double은 최소 15자리의 십진수를 표현할 수 있는 반면, Float는 6자리의 숫자까지만 표현이 가능하다. 

Float을 사용하여 메모리를 아끼고자 하는 경우가 아니라면

보통 Double 사용을 더 권장하고 있다고 한다. 

 

728x90
반응형

'Algorithm > 참고' 카테고리의 다른 글

코테공부 시행착오  (0) 2022.10.27
[Swift 알고리즘] 소수 판별  (2) 2022.02.28
[Swift] 제곱 함수 pow, 제곱근 함수 sqrt  (0) 2022.02.09
[Swift] 2진수 변환 radix  (0) 2022.02.09
[Swift] reversed()  (1) 2022.01.16