假设我有一个这样的实例NSInteger
,
NSInteger height = 100;
我想计算(全部+一半)值,所以我这样做,
NSInteger newHeight = (height + (height/2));
还有其他替代方法吗?
<子> P.S。 100值不是静态的,所以我不能直接拿150。我每次都需要计算它。
答案 0 :(得分:0)
NSInteger newHeight = 1.5 * height;
我找不到另一种更容易的方式。
答案 1 :(得分:0)
您可以创建NSObject的Utility.h文件子类并在其上书写
-(NSInteger)calculate:(NSInteger) height
{
return (height + (height/2));
}
并调用您要导入此文件的位置#import“Utility.h”
答案 2 :(得分:0)
如果省略不必要的括号,显然会变得更好&#34;
NSInteger newHeight = height + height/2;
顺便说一下:这也可行:
NSInteger newHeight = height + height>>1;
答案 3 :(得分:0)
在编译器如此擅长优化之前,你可以通过删除除法运算来加速这一点(因为除法很慢),如下所示:
NSInteger newHeight = height + (height>>1);
如果您转储生成的汇编程序,我会认为原始代码最终会被更改为此。