Exercice langage C corrigé conversion binaire – décimal

Nous allons représenter l’écriture d’une valeur en binaire par un tableau, appelé binaire, de 16 booléens. La valeur true représentera 1, la valeur false représentera 0. Le premier élément du tableau correspondra au premier bit sur la droite, le dernier élément au bit sur la gauche.

Par exemple, si binaire[0] vaut true, le premier bit sur la droite vaut 1.

  1. Commencez par recopier le programme suivant:
#include 

using namespace std;

int main(int argc, char ** argv)
{
  bool binaire[16];
  int valeur;
  int valeur_apres_2_conversions;

  binaire[0]  = true;   binaire[1]  = false;   binaire[2]  = true;   binaire[3]  = false;
  binaire[4]  = false;  binaire[5]  = true;    binaire[6]  = true;   binaire[7]  = true;
  binaire[8]  = true;   binaire[9]  = false;   binaire[10] = true;   binaire[11] = true;
  binaire[12] = false;  binaire[13] = false;   binaire[14] = false;  binaire[15] = false;

  // ...

  return 0;
}
  1. Ajoutez le code qui affiche le tableau binaire (à l’aide d’une boucle for) sous la forme:
    0000 1101 1110 0101
  2. Remplacez le code qui initialise le tableau binaire par le code qui demande une valeur à l’utilisateur, et remplit le tableau binaire par l’écriture en binaire de la valeur. Rappel: l’écriture binaire est constituée des restes des divisions successives par 2. N’oubliez pas de remplir la partie gauche du tableau avec des 0, ou plutôt des false étant donné notre choix de représentation. Vérifiez votre programme. Pour la valeur 254, vous devez obtenir:
    0000 0000 1111 1110
  3. Écrivez maintenant le code qui fait la conversion inverse, c’est-à-dire qui retrouve la valeur décimale du nombre représenté dans le tableau binaire. Affichez cette valeur et vérifiez qu’elle est bien identique à la valeur entrée.
  4. Ajoutez le code qui décale les bits du tableau binaire d’un cran vers la gauche. Recopiez le code précédent pour trouver la valeur correspondant au tableau après le décalage et affichez-la. Que constatez-vous ?

La correction exercice C/C++ (voir page 2 en bas)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *