Objective-C中的模运算符返回错误的结果

前端之家收集整理的这篇文章主要介绍了Objective-C中的模运算符返回错误的结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我在Objective-C中进行模运算时,我得到的结果有点吓人了. -1%3出来是-1,这是不正确的答案:根据我的理解,应该是-2.2%3出来到-2,这也是不对的:应该为1.

除了%运算符之外,我还应该使用另外一种方法来获得正确的结果吗?

解决方法

Objective-C是C99的超集,C99定义当a为负时,%b为负.另见 the Wikipedia entry on the Modulo operationthis StackOverflow question.

像(a> = 0)? (a%b):((a%b)b)(未经测试,可能有不必要的括号)应给您所需的结果.

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