Maison > Java > javaDidacticiel > Pourquoi l'opérateur Modulo (%) de Java renvoie-t-il des résultats différents de ceux de Python pour des dividendes négatifs ?

Pourquoi l'opérateur Modulo (%) de Java renvoie-t-il des résultats différents de ceux de Python pour des dividendes négatifs ?

Barbara Streisand
Libérer: 2024-10-30 14:34:30
original
453 Les gens l'ont consulté

Why Does Java's Modulo Operator (%) Return Different Results Than Python for Negative Dividends?

Différence de comportement modulo en Java et Python

En Java, l'opérateur modulo (%) donne le reste lors de la division d'un nombre par un autre. Cependant, pour les dividendes négatifs, Python renvoie le module, tandis que Java renvoie le reste. Le module est toujours positif, tandis que le reste conserve le signe du dividende.

Pour aligner le comportement modulo de Java avec celui de Python, une modification est nécessaire. Ceci peut être réalisé en ajoutant une autre opération modulo ou un ajustement au signe du résultat.

Par exemple :

<code class="java">int i = (((-1 % 2) + 2) % 2); // adds 2 to the initial remainder and takes the modulus again</code>
Copier après la connexion

ou

<code class="java">int i = -1 % 2;
if (i < 0) i += 2; // adds 2 if the initial remainder is negative</code>
Copier après la connexion

En faisant ceci ajustement, le résultat correspondra au comportement de module attendu en Python, garantissant des valeurs positives pour les dividendes négatifs lors de l'exécution d'opérations modulo.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal