0

CGFloat を NSTimeInterval で除算すると、精度が失われますか?

NSTimeInterval を UIView.frame.size.width に変換しようとしていますが、現在は float にキャストしています。

4

2 に答える 2

2

AnNSTimeIntervalは a の typedef であり、少なくとも a (は32 ビット システムでは a および64 ビット システムでは a として定義されています)doubleと同じ精度を持つことが保証されています。CGFloatCGFloatfloatdouble

いいえ、aCGFloatを anNSTimeIntervalで割っても精度が失われることはありません (CGFloatつまり、浮動小数点演算には常に精度/精度の問題があります)。

于 2012-08-10T22:59:31.887 に答える
1

CGFloat は float にすることができ、NSTimeInterval は double にすることができます。除算を実行しても精度が失われることはありませんが (結果は double になります)、NSTimeInterval を CGFloat にキャストすると、精度が失われる可能性があります。

于 2012-08-10T23:00:11.870 に答える