Déterminer si un nombre entier est pair ou impair constitue l'une des opérations arithmétiques les plus élémentaires en programmation. Cette vérification est offerte par de nombreux langages, notamment Pascal avec la fonction Odd, mais également par diverses bibliothèques standard d'autres environnements de développement. Malgré sa simplicité apparente, ce test est utilisé dans une multitude d'algorithmes, que ce soit pour effectuer des calculs mathématiques, parcourir des tableaux, alterner des traitements, réaliser des effets graphiques ou encore optimiser certaines opérations numériques. Il s'agit donc d'une fonction fondamentale que tout programmeur est amené à utiliser régulièrement.
En C++, aucune fonction standard ne porte directement le nom Odd, mais il est extrêmement facile d'en reproduire le comportement. La méthode la plus rapide consiste à exploiter les opérations sur les bits plutôt que d'effectuer un calcul du reste de la division par deux. En examinant simplement le bit de poids faible d'un entier, il est possible de savoir instantanément si ce dernier est pair ou impair. Cette technique est particulièrement performante puisqu'elle ne nécessite ni division ni modulo, mais uniquement une opération logique très rapide directement prise en charge par le processeur.
Le programme C++ présenté ci-dessous met en ouvre cette méthode au moyen d'un simple masque binaire. Il parcourt une série de nombres entiers, comprenant aussi bien des valeurs négatives que positives, puis indique pour chacune d'elles si elle est paire ou impaire. Cet exemple constitue une excellente introduction aux opérations binaires en C++ tout en démontrant comment une fonction très simple peut être implémentée de façon élégante, efficace et parfaitement adaptée aux applications nécessitant des traitements numériques rapides :
on obtiendra le résultat suivant :
Le nombre -4 est PairLe nombre -3 est Impaire
Le nombre -2 est Pair
Le nombre -1 est Impaire
Le nombre 0 est Pair
Le nombre 1 est Impaire
Le nombre 2 est Pair
Le nombre 3 est Impaire
Le nombre 4 est Pair
Le nombre 5 est Impaire
Le nombre 6 est Pair
Le nombre 7 est Impaire
Le nombre 8 est Pair
Le nombre 9 est Impaire
Le nombre 10 est Pair