logo

Nombre binaire à décimal en C

Cette section discutera de la conversion des nombres binaires en nombres décimaux. Avant d’aborder le concept, nous devons comprendre les nombres binaires et les nombres décimaux. Comme nous le savons, l’ordinateur ne comprend pas les mots ou les chiffres que les humains écrivent ou font. Au lieu de cela, il ne comprend que les 0 et les 1. Par exemple, lorsque nous tapons un mot ou un nombre sur un ordinateur, divers logiciels ou compilateurs aident à convertir ces nombres ou mots sous forme binaire (bits 0 et 1). Pour qu’un ordinateur puisse facilement les comprendre.

défaut général de protection
Nombre binaire à décimal en C

Nombre binaire

Un nombre binaire est un nombre qui représente des informations ou des données stockées dans un ordinateur avec une combinaison de bits 0 et 1. Il est également connu sous le nom de système numérique de base 2 car il comporte deux bits, des 0 et des 1. Ce sont des nombres binaires (0 et 1) 1001, 1010, 1101, 1111, 1010101 etc.

Nombre décimal

Un nombre décimal est un nombre qui contient 10 chiffres de 0 à 9. Sa base est 10 car il rassemble 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) et représente ou fait le nombre entier en utilisant ces dix chiffres.

Algorithme pour convertir binaire en décimal

  1. Prenez un nombre binaire comme entrée.
  2. Divisez le nombre par 10 et stockez le reste dans la variable rem.
  3. numéro_décimal = numéro_décimal + rem * base ;
    Initialement, le decimal_num est 0 et la base est 1, où la variable rem stocke le reste du nombre.
  4. Divisez le quotient du nombre initial par 10.
  5. Multipliez la base par 2.
  6. Imprimez la décimale du nombre binaire.

Convertir un nombre binaire en nombre décimal à l'aide de la boucle while

Considérons le programme C pour convertir la combinaison d'un nombre binaire (0 et 1) en nombre décimal à l'aide d'une boucle while.

programme.c

 #include #include void main() { // declaration of variables int num, binary_num, decimal_num = 0, base = 1, rem; printf (' Enter a binary number with the combination of 0s and 1s 
'); scanf (' %d', &num); // accept the binary number (0s and 1s) binary_num = num; // assign the binary number to the binary_num variable while ( num > 0) { rem = num % 10; /* divide the binary number by 10 and store the remainder in rem variable. */ decimal_num = decimal_num + rem * base; num = num / 10; // divide the number with quotient base = base * 2; } printf ( ' The binary number is %d 	', binary_num); // print the binary number printf (' 
 The decimal number is %d 	', decimal_num); // print the decimal getch(); } 

Sortir

 Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13 

Explications du code : Comme nous pouvons le voir dans le programme ci-dessus, il demande un nombre binaire (0 et 1) aux utilisateurs pour stocker le nombre dans la variable num. A chaque itération, une boucle while vérifie la condition du nombre binaire et valide que le nombre donné ne doit pas être inférieur à 0 ; sinon, il sort de la boucle.

Voici l'itération de la boucle while, comme suit :

1ère itération :

rem = 1101 % 10 => 1

chaîne java avec format

decimal_num = 0 + 1 * 1 => 1 (decimal_val = 0, rem = 1 et base = 1)

num = 1101 / 10 => 110

base = 1 * 2 => 2

2ème itération :

rem = 110 % 10 => 0

decimal_num = 1 + 0 * 2 => 1 (decimal_val = 1, rem = 0 et base = 2)

num = 110 / 10 => 11

base = 2 * 2 => 4

topologies

3ème itération :

rem = 11 % 10 => 1

decimal_num = 1 + 1 * 4 => 5 (decimal_val = 1, rem = 1 et base = 4)

num = 11 / 10 => 1

base = 4 * 2 => 8

4ème itération :

rem = 1 % 10 => 1

decimal_num = 5 + 1 * 8 => 1 (decimal_val = 5, rem = 1 et base = 8)

num = 1 / 10 => 0

jquery ce clic

base = 8 * 2 => 16

Convertir un nombre binaire en nombre décimal à l'aide de la boucle for

Considérons un programme en langage C pour convertir la combinaison de nombres binaires (0 et 1) en nombre décimal à l'aide de la boucle for.

tests manuels

décimal.c

 #include #include #include // use math.h header file void main() { // declaration of local variables i, bin_num, decimal_num = 0, rem; int i, bin_num, decimal_num = 0, rem; printf (' Enter the binary number with the combination of 0s and 1s 
'); scanf ('%d', &bin_num); // takes the binary number as the input printf( ' 
 The binary number is %d', bin_num); // print the binary number for (i = 0; bin_num != 0; ++i) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + (rem) * ( pow (2, i)); } // print the decimal number printf ('
 Conversion from binary to decimal number is %d', decimal_num); getch(); } 

Sortir

 Enter the binary number with the combination of 0s and 1s 10010 The binary number is 10010 Conversion from binary to decimal number is 18 

Convertir un nombre binaire en nombre décimal à l'aide de la fonction

Considérons un programme en langage C pour convertir la combinaison de nombres binaires (0 et 1) en nombre décimal à l'aide d'une fonction définie par l'utilisateur.

donc.

 #include #include int binaryTodecimal(int bin_num); int main() { // declare the local variable int bin_num, dec_num; printf (' Enter the binary number (0s and 1s) 
'); scanf ('%d', &bin_num); dec_num = binaryTodecimal (bin_num); // call the binaryTodecimal() function printf (' Conversion of the binary number to decimal number is %d', dec_num); } // use user defined function --- binaryTo decimal function int binaryTodecimal( int bin_num) { // declaration of variables int decimal_num = 0, temp = 0, rem; while (bin_num != 0) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + rem * pow( 2, temp); temp++; } return decimal_num; } 

Sortir

 Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25 

Convertir un nombre binaire en nombre décimal à l'aide d'un tableau et d'une fonction

Considérons un programme en langage C pour convertir la combinaison de nombres binaires (0 et 1) en nombre décimal à l'aide d'une fonction et d'un tableau.

Décimal2.c

 #include #include int binaryTodecimal (char num[]) { int i, deci_num, mul = 0; for ( deci_num = 0, i = str_length(num) - 1; i >= 0; --i, ++mul) { deci_num = deci_num + (num[i] - 48) * (1 << mul); } return deci_num; } int str_length( char str[]) { int i = 0; while (str[i] != '') i++; return i; } int main() { char num[] = '1101'; int deci_num; printf ('
 The binary number is %s', num); printf ('
 The decimal number of %s is %d', num, binaryTodecimal(num)); return 0; } 

Sortir

 The binary number is 1101 The decimal number of 1101 is 13