Laurentvidal.fr vous aide à trouver des réponses à toutes vos questions grâce à une communauté d'experts passionnés. Découvrez des solutions fiables à vos questions grâce à un vaste réseau d'experts sur notre plateforme de questions-réponses complète. Connectez-vous avec une communauté d'experts prêts à fournir des solutions précises à vos questions de manière rapide et efficace sur notre plateforme conviviale de questions-réponses.
Sagot :
#include <stdio.h>
int main()
{
// déclaration de la chaine de caractère qui contiendra le nombre binaire saisi
char bits[1000];
//déclaration de la variable qui servira à parcourir la chaine de caractère
int i = 0;
//déclaration de la variable qui contiendra le résultat
long int d = 0;
// déclaration de la variable qui enregistrera les puissances de 2
long int power = 1;
// demande de saisi pour l'utilisateur
printf("veuillez saisir le nombre binaire a convertir en decimal ");
//saisie de l'utilisateur
scanf("%s", bits);
//recherche de la longueur de la chaine en la parcourant jusqu'à trouver le caractère de fin
while (bits[i] != '\0'){
i++;
}
//parcours de la chaine de droite à gauche en commençant par le dernier caractére (celui juste avant '\0')
for (i--;i>=0 ; i--){
//si le caractère lu est un 1
if(bits[i] == '1'){
//on ajoute la puissance de 2 correspondante (au début 2^0 = 1)
d+=power;
}
//calcul de la puissance de 2 suivante
power*=2;
}
//affichage du résultat
printf("%s en décimal vaut : %li",bits,d);
return 0;
}
Nous espérons que vous avez trouvé ce que vous cherchiez. Revenez nous voir pour obtenir plus de réponses et des informations à jour. Merci d'avoir choisi notre plateforme. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. Revenez nous voir. Laurentvidal.fr, votre site de référence pour des réponses précises. N'oubliez pas de revenir pour en savoir plus.