Maison > Java > javaDidacticiel > le corps du texte

Voici quelques options de titre, jouant avec le format des questions : * **Pourquoi -13 % 64 et non 51 en Java ?** (Simple et direct) * **Opérateur de module Java et nombres négatifs : comment obtenir le résultat attendu

Mary-Kate Olsen
Libérer: 2024-10-25 12:17:30
original
223 Les gens l'ont consulté

Here are a few title options, playing with the question format:

* **Why is -13 % 64 not 51 in Java?**  (Simple and direct)
* **Java Modulus Operator and Negative Numbers: How to Get the Expected Result?** (More descriptive, highlights the challenge)
* **

Calcul du module avec des nombres négatifs en Java

En Java, l'opérateur de module (%) renvoie le reste après avoir divisé deux nombres. Cependant, lorsqu'il s'agit de nombres négatifs, le résultat peut ne pas être celui attendu.

Problème :

Un développeur rencontre un résultat inattendu lors de l'exécution de calculs de module avec des nombres négatifs, spécifiquement -13 % 64. Au lieu du résultat souhaité de 51, le résultat est -13.

Explication :

La définition du module pour les nombres négatifs varie selon la programmation langues. En Java, le reste renvoyé par l'opérateur module a le même signe que le dividende (numérateur). Ainsi, -13 % 64 s'évalue à -13.

Solution :

Pour obtenir le résultat souhaité de 51, la correction suivante peut être appliquée :

<code class="java">int r = x % n;
if (r > 0 && x < 0) {
    r -= n;
}</code>
Copier après la connexion

Ce code garantit que le reste est positif lorsque le dividende est négatif.

Alternativement, si le langage renvoie un reste négatif pour les entrées négatives et que le développeur préfère un résultat positif, l'ajustement suivant peut être made :

<code class="java">int r = x % n;
if (r < 0) {
    r += n;
}</code>
Copier après la connexion

Ce code convertit le reste négatif en une valeur positive.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!