IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

savoir si un nombre est pair ou impair???


Sujet :

C

  1. #1
    Bod
    Bod est déconnecté
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1
    Par défaut savoir si un nombre est pair ou impair???
    Bonjour tout le monde, j'aimerai avoir un petit renseignement. Je ne sais pas comment on fait pour vérifier q'un nombre est pair ou impair, alors si quelqu'un pouvait me renseigner, ça m'aiderait beaucoup. Merci d"avance.

  2. #2
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    tu peux essaye de faire le modulo 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ( (i % 2) == 0) {
         // nbre pair
    } else {
         // nbre impair
    }

  3. #3
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Par défaut
    si vous y tenez, voici une solution avec mask (the most + rapide) et une solution avec décalages qu'est un peu compliqué pour ce que c'est faire !

    mask :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ( number & 1) 
    { 
         prinff ( "%d est impaire\n", number); 
    } 
    else 
    { 
         prinff ( "%d est paire\n", number); 
    }
    décalages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (((number >> 1)<<1) != number)  /* avouez que c'est pas cool ! */
    { 
         prinff ( "%d est impaire\n", number); 
    } 
    else 
    { 
         prinff ( "%d est paire\n", number); 
    }
    Pour devenir bon en C, lire les tutoriels et cours pour apprendre la programmation en langage C : http://c.developpez.com/cours/

  4. #4
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par défaut
    - x % 2 renvoie x modulo 2, ça marche pour tous les types entiers (short,int,long), mais pas pour les réels : faut utiliser modf (ou fmod, je sais jamais lequel).
    - "x % 2" est équivalant à "x & 1" pour les types entiers signés ou non, mais pas les types réels (pour lesquels il faut utiliser fmod/mof).

    @+ Haypo

  5. #5
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Par défaut
    ceci dit, le système du mask est qand même beaucoup plus rapide à l'exécution car il ne nécessite pas de faire la division.

    je sais, je sais on voit pas la différence et en plus c'est moins lisible, mais bon on sait jamais ... si c'est un point critique qui doit être exécuté beaucoup de fois, un bon commentaire fera l'affaire

    au fait, je crois qu'on peu aussi le faire avec un mask pour les réels, mais ça demande de faire un décalage en fonction de l'emplacement de la virgule et donc de connaitre parfaitement la représentation des réels par le langage (ça c'est pas pour moi )

    Pour mieux te former : les cours et tutoriels pour bien apprendre la programmation en langage C : http://c.developpez.com/cours/ et aussi voir les cours et tutoriels pour apprendre Arduino

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. savoir si un nombre est pair ou impair?
    Par bubulle29 dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/06/2009, 15h39
  2. Comment savoir si un nombre est premier ?
    Par Extra-Nitro dans le forum Général Python
    Réponses: 9
    Dernier message: 03/01/2006, 14h28
  3. savoir si un nombre est pair ou non
    Par shirya dans le forum C++
    Réponses: 25
    Dernier message: 23/11/2005, 17h53
  4. VB Comment savoir si un chiffre est pair ou impair ?
    Par PRACH dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/09/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo