Un tit code a expliquer

Résolu/Fermé
mimizaa Messages postés 26 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 31 juillet 2014 - 1 mai 2013 à 19:58
mimizaa Messages postés 26 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 31 juillet 2014 - 15 mai 2013 à 21:46
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 :!!
A voir également:

1 réponse

DarkenNights Messages postés 137 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 17 décembre 2013 10
2 mai 2013 à 01:14
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
Modifié par fiddy le 2/05/2013 à 07:22
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
mimizaa Messages postés 26 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 31 juillet 2014
15 mai 2013 à 21:46
DarkenNights vous etes le top meeeeeerci infiniment bravo
0