gpt4 book ai didi

Objective-C 整数运算

转载 作者:太空狗 更新时间:2023-10-30 03:25:11 26 4
gpt4 key购买 nike

我正在尝试计算 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;

什么东西在我头顶飞过?

谢谢,
尼克

最佳答案

在 Objective-C 中,/ 对整数参数执行整数除法,因此 4/5 被截断为 0,3/2 被截断为 1,依此类推。在执行除法之前,您可能希望将一些数字转换为浮点形式。

您还遇到了优先级问题。在表达式中

60 / (i * 50) * 1000

首先计算括号内的项,所以 60 除以 600 结果为 0。在

60 / i * 50 * 1000

第一个运算是将 60 除以 12,结果为 5,然后进行乘法。

关于Objective-C 整数运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4197841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com