定义范围值

问题描述:

我需要在每次迭代中设置一个int变量+ -1,范围应该在0-10之间。当我添加1到10 - > 0时,我加-1到0 - > 10.我知道我需要在这里与模数去,但无法找到任何解决方案。定义范围值

+0

你尝试过什么? – talnicolas 2012-01-07 19:04:35

+0

显示您尝试过的代码。如果你需要帮助,这真的很重要。当我回答问题时,通常我会在工作中,而且我没有时间花时间猜测某人可能会尝试过什么。因此,我更有可能回答有代码的问题。另外,我认为那些回答问题的人会对这个人所做的努力表示赞赏 - 获得好的唯一方法就是先尝试弄清楚事情的真相。 – Paul 2012-01-07 19:36:14

这似乎很容易,但如果你真的想使用模数,你尝试了吗?

x = (x + y) % 11; 
    if (x < 0) x += 11; 

或“终极可读性”,可能仍然更好的性能只是

x = x + y; 
    if (x < 0) x += 11; 
    if (x > 11) x -= 11; 

请注意,要求锁定Ÿ下来是-1或1

+0

'(0 + -1)%11'超出范围 – amit 2012-01-07 19:08:21

+0

我在这里:(x +(11 + y))%11是否有更简单的方法? – Starfighter911 2012-01-07 19:19:12

+0

我错过了y只有-1到1的范围,即使有点难以阅读,你的方式确实可行。 – 2012-01-07 19:26:09