Xco*_*der 6 c iphone math objective-c
这可能是一个愚蠢而简单的问题,但似乎有时最简单的事情会给我带来更多问题!
这个公式假设给我一个0到100之间的数字.
(200 / 23) * Abs(Mod(2987, 23) - 23 / 2)
Run Code Online (Sandbox Code Playgroud)
在目标CI编码它像这样:
(200 / 23) * abs(2987 % 23) - (23 / 2);
Run Code Online (Sandbox Code Playgroud)
公式是否有缺陷(并且在0到100之间没有给出答案)或者我的代码是错的?似乎我的模数没有给我正确的结果.它不应该给我一个整数吗?
谢谢
JSc*_*her 17
您的代码在目标C中是错误的...
(200 / 23) * abs(2987 % 23) - (23 / 2);
Run Code Online (Sandbox Code Playgroud)
应该
(200 / 23) * abs((2987 % 23) - (23 / 2));
Run Code Online (Sandbox Code Playgroud)
这只是73.9.
但是这个公式也是不正确的,你想要0到100之间的值.你当前的公式没有达到0,因为%23的范围是0-22,所以如果你减去23/2然后你可以得到的最低值取绝对值为.5(11-11.5和12-11.5).在这种情况下,22将是理想的数字.
同样通过减去23/2你得到一个不均匀的分布,如果你只是将mod乘以100/22,你会更好.知道你在尝试什么会有所帮助.
| 归档时间: |
|
| 查看次数: |
6698 次 |
| 最近记录: |