Comme vous le savez peut être, l'opérateur % en Java, ne calcule pas le modulo, mais le reste de la division euclidienne.
Pour a%b
Si a >=0, pas de problème, % calcule bien le modulo
Mais si a<0 , le résultat est négatif ! (Ce qui ne devrait pas être le cas du modulo)
L'opérateur % est assez problématique, lors d'un calcul d'index dans un tableau "cyclique".
J'ai cherché assez longtemps (sur internet) une "opération sur une seule ligne" qui fasse l'équivalent du modulo.
Finalement, je suis tombé sur une formule toute bête :
a mod b == (a % b + b) % b
Je n'ai vu cette solution quasiment nul part.
Elle pose un problème ?
Partager