2012-08-10 22 views
0

NSTimeInterval로 CGFloat을 나눌 때 정확도가 손실 되었습니까?CGFloat/NSTimeInterval의 정확도가 낮아집니다

NSTimeInterval을 UIView.frame.size.width로 변환하려고하며 현재이를 float로 캐스팅하고 있습니다. NSTimeInterval

+0

어떤 종류의 정밀도가 필요합니까? 두 가지 유형 모두 화면에 그려지는 대부분의 것들에 대해 충분한 정밀도를 가지고 있습니다. –

답변

2

CGFloat (CGFloat 32 비트 시스템에 floatdouble 64 비트 시스템으로 정의 됨)에 준하는 정밀도를 보장하는 double하는 타입 정의된다.

그래서 아니, 다이빙 어떤 정확성을 잃지 않을 것 NSTimeInterval하여 CGFloat (또 다른 CGFloat으로 나누어 비교는, 부동 소수점 연산은 항상 정밀/정확도 우려가 있습니다).

1

CGFloat는 float이고 NSTimeInterval은 double입니다. 나눗셈을 수행하면 정밀도가 손실되지 않지만 결과는 두 배입니다. 그러나 NSTimeInterval을 CGFloat로 캐스팅하면 정밀도가 떨어질 수 있습니다.

관련 문제