Modulo von negativen Zahlen [duplizieren]
Mögliches Duplizieren:
Mod der negativen Zahl schmilzt mein Gehirn!
Ich habe mich gefragt, ob es einen schöneren Algorithmus für das gibt, was ich versuche zu tun:
wrapIndex(-6, 3) = 0 wrapIndex(-5, 3) = 1 wrapIndex(-4, 3) = 2 wrapIndex(-3, 3) = 0 wrapIndex(-2, 3) = 1 wrapIndex(-1, 3) = 2 wrapIndex(0, 3) = 0 wrapIndex(1, 3) = 1 wrapIndex(2, 3) = 2 wrapIndex(3, 3) = 0 wrapIndex(4, 3) = 1 wrapIndex(5, 3) = 2
Ich hatte die Idee das
function wrapIndex(i, i_max) { if(i > -1) return i%i_max; var x = i_max + i%i_max; if(x == i_max) return 0; return x; }
Gibt es einen schöneren Weg, dies zu tun?