Un tit code a expliquer

Résolu
mimizaa Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
mimizaa Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -
salut,

SVP vous pouvez m'expliquer ce petit code qui permet de convertir une base ( valable pour le hexadecimal, octal, decimal) vers une autre :

for(i= 7; i >= 0; i--)
{
nbr= x >> c;
if(nbr%2 == 1)
printf("1");
else
printf("0");

et celui la qui permet de convertir juste le binaire vers le deciimal
D=0 ;
char B;

printf("Veuillez entrer un nombre svp :");
while (B != '\n')

{
scanf("%i",&B);
if (B == '1')
D = D * 2 + 1;
else if (B == '0')
D *= 2;
}
printf("%d\n",D);

merciii d'avance :!!

1 réponse

  1. DarkenNights Messages postés 157 Statut Membre 12
     
    Pour i allant de 7 a 0 avec un pas de -1
    for(i= 7; i >= 0; i--)
    {
    la variable nbr qui est egale a x on la met dans c
    nbr= x >> c;
    si nbr modulo 2 = 1 donc que nbr nest pas un multiple de deux alors
    if(nbr%2 == 1)
    on affiche 1 sinon on affiche 0
    printf("1");
    else
    printf("0");

    et celui la qui permet de convertir juste le binaire vers le deciimal
    initialisation des variables D et B
    D=0 ;
    char B;

    printf("Veuillez entrer un nombre svp :");
    tant que B ne vaut pas '\n'
    while (B != '\n')

    {
    on recupere ce que tape la personne au clavier
    scanf("%i",&B);
    si B vaut le caractere 1 alors D prend la valeur D fois 2 + 1 sinon D prend la valeur D fois 2
    if (B == '1')
    D = D * 2 + 1;
    else if (B == '0')
    D *= 2;
    }
    on affiche D
    printf("%d\n",D);

    Voila je viens de texpliquer le code. Si tu veux d'autres infos n'hesite pas. Bonne continuation
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      la variable nbr qui est egale a x on la met dans c
      A côté.... >> est un opérateur de décalage des bits !
      Ici on décale x de c bits sur la droite et on stocke dans nbr.
      0
    2. mimizaa Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
       
      DarkenNights vous etes le top meeeeeerci infiniment bravo
      0