Objective-C 整数运算

2024-01-03

我正在尝试在 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(使用前将#替换为@)

Objective-C 整数运算 的相关文章

随机推荐