萨比人,我正在尝试编写将要映射的功能
this --> ...-5|-4|-3|-2|-1| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9...
to this --> ... 3| 0| 1| 2| 3| 0| 1| 2| 3| 0| 1| 2| 3| 0| 1...
理想情况下,如果我输入myFunc(-1,4)
,它将返回3第二个参数“ 4”是我要循环的数字。
我发现modulus运算符(%)正在对正整数执行此操作,但是我需要它可以在所有整数中工作并且无法找到解决方案。另外,我了解到我需要的是锯齿形离散波,因此我查看了wikipedia,但实际上无法弄清楚。请帮忙。
对于那些正数,很简单,正如您所指出的:
x % 4
对于负数,您需要做的是将整行向前移动为正数,然后模数。尝试一下,这对您想要的正面和负面效果都有效:
(x % 4 + 4) % 4