Is there a performance diff using CGFloat with or without postfix .f in Objective-C

2 Solutions Collect From Internet About “Is there a performance diff using CGFloat with or without postfix .f in Objective-C”

1.2 is a double; i.e. 64-bit double-precision floating point number.

1.2f is a float; i.e. 32-bit single-precision floating point number.

In terms of performance, it doesn’t matter as the compiler will convert literals from float to double and double to float as necessary. When assigning floating-point numbers from functions, however, you will most likely need to cast to avoid a compiler warning.

The basic difference is as :

1.0 or 1. is a double constant

1.0f is a float constant

Without a suffix, a literal with a decimal in it (123.0) will be treated as a double-precision floating-point number.

If you assign or pass that to a single-precision variable or parameter, the compiler will (should) issue a warning. Appending f tells the compiler you want the literal to be treated as a single-precision floating-point number.