Aller au contenu

Exercice1

Exercice 1 : Opérations binaires

Pour cet exercice, vous pouvez installer un environnement de développement C/C++ sur votre machine, ou simplement utiliser un compilateur dans le “cloud” tel que sur : tutorialspoint.com1.

CountBits

Écrivez une fonction en C++ qui compte le nombre de bits à “1” dans un entier positif La signature de cette méthode est :

int CountBits(uint32_t n);

Testez votre fonction avec un programme principal.

MostSignificantBit

Écrivez une fonction en C++ qui détermine le bit le plus signifiant dans un entier positif La signature de cette méthode est :

int MostSignificantBit(uint32_t n);

Testez votre fonction avec un programme principal.

ReverseBits

Écrivez une fonction en C++ qui renverse les bits d’un entier positif. Le bit 31 (poids fort) est échangé avec le bit 0, le bit 30 est échangé avec le bit 1, etc.

La signature de cette méthode est :

uint32_t ReverseBits(uint32_t n);

Testez votre fonction avec un programme principal.

Autres opérations binaires

Implémentez les fonctions ci-dessous conformément aux commentaires :

uint32_t SetBit(uint32_t n, int i);    // returns n with bit i set
uint32_t ClearBit(uint32_t n, int i);  // returns n with bit i cleared
uint32_t ToggleBit(uint32_t n, int i); // returns n with bit i inverted
bool TestBit(uint32_t n, int i);       // tests if bit i of n is set

Testez vos fonctions avec un programme principal.