12
votes

Déterminer les nombres paires et impairs (entiers)?

Je me sens stupide posant une question aussi simple, mais existe-t-il un moyen facile de déterminer si un entier est même ou étrange?


0 commentaires

6 Réponses :


37
votes
if ((n % 2) == 0) {
    // number is even
}

else {
    // number is odd
}

0 commentaires

11
votes

Vous pouvez utiliser Division modulaire (techniquement en Java, il agit En tant qu'opérateur restreint strict; le lien a plus de discussion):

if ( ( n % 2 ) == 0 ) {
    //Is even
} else {
    //Is odd
}


0 commentaires

4
votes

Si vous faites un bitwise-et avec 1 , vous pouvez détecter si le bit le moins significatif est 1. Si tel est le cas, le nombre est impair, sinon même.

dans les langages C-ISH, bool impair = mynum & 1;

Ceci est plus rapide (performance-wise) que mod , si c'est une préoccupation.


3 commentaires

ne serait même pas vrai quand mynum est étrange?


Je pense que cela est imparfait. Vous devez renommer votre variable à impair.


@Bill, @anton - Désolé, j'avais posté avec le mauvais sens pour le résultat. Je pensais avoir été édité avant que quelqu'un me attrape ...



22
votes

Ce n'est pas spécifique à Android, mais une fonction standard serait la suivante: xxx

de nombreux compilateurs convertissent automatiquement les opérations de modulo (% ) automatiquement, mais cette méthode est également compatible avec les compilateurs plus anciens.


0 commentaires

1
votes

Lorsque %% en tant qu'opérateur n'existe pas, vous pouvez utiliser l'opérateur et l'opérateur: xxx


2 commentaires

Ouais, c'était une faute de frappe, désolé!


Ne devrait-il pas être des citations doubles?



1
votes

Semblable aux autres, mais voici comment je l'ai fait. XXX


0 commentaires