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.![]()
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.![]()
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 }
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 :
d�calages :
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); }
Pour devenir bon en C, lire les tutoriels et cours pour apprendre la programmation en langage C : http://c.developpez.com/cours/
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); }
- 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
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
Partager