objective-c – 除法比Multiply慢吗?

前端之家收集整理的这篇文章主要介绍了objective-c – 除法比Multiply慢吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,这可能听起来像一个奇怪的问题,但它是一个有趣的问题.我正在为iOS编码,并且被告知最好是乘以而不是除以值,因为它更快.

我知道这些天的处理器可能会让这个问题变得没有问题,但我的好奇心已经变得更好了,我想知道是否有人能为我揭示这一点.

所以…..我的问题是这个 –
是:

player.position = ccp(player.contentSize.width / 2,winSize.height / 2);

慢于:

player.position = ccp(player.contentSize.width * 0.5,winSize.height * 0.5);

解决方法

对于相同的数据类型,大多数处理器除法比乘法慢.在您的示例中,乘法是浮点运算,如果width和height是整数类型,结果可能会非常不同,并且可能取决于处理器和编译器.

然而,大多数编译器(当然是GCC)将通过一个恒定的二次幂来转换一个除法,就像你的例子一样,转换到更有效的右移.这通常比乘法或除法更快.

猜你在找的C&C++相关文章