我正在尝试在 iPhone 应用程序中计算一些数字。
int i = 12;
int o = (60 / (i * 50)) * 1000;
在本例中,我希望 o 为 100(即毫秒),但如 NSLog(@"%d", o) 显示的那样,它等于 0。
这也等于 0。
int o = 60 / (i * 50) * 1000;
这等于 250,000,这是直接从左到右的数学计算。
int o = 60 / i * 50 * 1000;
什么东西从我头上飞过?
Thanks,
Nick
在 Objective-C 中/
对整数参数执行整数除法,因此 4/5 被截断为 0,3/2 被截断为 1,依此类推。您可能希望在执行除法之前将一些数字转换为浮点形式。
您还会遇到优先问题。在表达式中
60 / (i * 50) * 1000
首先计算括号内的项,因此 60 除以 600,结果为 0。
60 / i * 50 * 1000
第一个运算是将 60 除以 12,得到结果 5,然后进行乘法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)