Correction de l'opérateur modulo de nombres négatifs en JavaScript
En JavaScript, l'opérateur modulo (%) renvoie le reste lors de la division d'un nombre par un autre. Cependant, pour les nombres négatifs, l'opérateur modulo de JavaScript se comporte de manière inattendue, renvoyant un résultat négatif. Ce problème se produit car JavaScript utilise en interne des entiers signés, qui ne conviennent pas aux opérations modulo.
Pour résoudre ce problème, vous pouvez utiliser la fonction de mod personnalisée suivante :
Number.prototype.mod = function (n) { "use strict"; return ((this % n) + n) % n; };
Cette fonction garantit que le résultat modulo est toujours positif, conformément à la définition mathématique de modulo.
Utilisation :
console.log(-13.mod(64)); // Output: 51
Explication :
La fonction mod personnalisée calcule d'abord le reste en utilisant le natif Opérateur modulo JavaScript. Ensuite, il ajoute le diviseur (n) au reste. Cela garantit que le résultat n’est pas négatif. Enfin, il effectue une deuxième opération modulo pour obtenir le reste positif final.
Cette fonction modulo modifiée aligne le comportement de JavaScript avec le résultat mathématique attendu, facilitant ainsi les calculs cohérents et précis impliquant des nombres négatifs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!