logo

Binar la număr zecimal în C

Această secțiune va discuta conversia numerelor binare în numere zecimale. Înainte de a trece la concept, trebuie să înțelegem numerele binare și numerele zecimale. După cum știm, computerul nu înțelege cuvintele sau numerele pe care oamenii le scriu sau le fac. În schimb, înțelege doar 0 și 1. De exemplu, atunci când introducem un cuvânt sau un număr pe un computer, diverse programe sau compilatoare ajută la convertirea acestor numere sau cuvinte în formă binară (biți 0 și 1). Pentru ca un computer să le poată înțelege cu ușurință.

tutorial pyspark
Binar la număr zecimal în C

Număr binar

Un număr binar este un număr care reprezintă informații sau date stocate într-un computer cu o combinație de biți 0 și 1. Este cunoscut și ca sistemul numeric de bază 2 deoarece are doi biți, 0 și 1. Acestea sunt numere binare (0 și 1) 1001, 1010, 1101, 1111, 1010101 etc.

Numar decimal

Un număr zecimal este un număr care conține 10 cifre de la 0 la 9. Baza sa este 10 deoarece adună 10 cifre (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) și reprezintă sau face număr întreg folosind aceste zece cifre.

Algoritm pentru conversia binarului în zecimal

  1. Luați un număr binar ca intrare.
  2. Împărțiți numărul cu 10 și stocați restul în variabila rem.
  3. decimal_num = decimal_num + rem * baza;
    Inițial, decimal_num este 0, iar baza este 1, unde variabila rem stochează restul numărului.
  4. Împărțiți câtul numărului inițial la 10.
  5. Înmulțiți baza cu 2.
  6. Tipăriți zecimala numărului binar.

Convertiți un număr binar într-un număr zecimal folosind bucla while

Să luăm în considerare programul C pentru a converti combinația unui număr binar (0s și 1s) în număr zecimal folosind o buclă while.

program.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(); } 

Ieșire

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

Explicații ale codului: După cum putem vedea în programul de mai sus, acesta solicită un număr binar (0 și 1) de la utilizatori să stocheze numărul în variabila num. La fiecare iterație, o buclă while verifică condiția numărului binar și validează că numărul dat nu trebuie să fie mai mic de 0; în caz contrar, iese din buclă.

Următoarele sunt iterația buclei while, după cum urmează:

Prima iterație:

rem = 1101 % 10 => 1

decimal_num = 0 + 1 * 1 => 1 (decimal_val = 0, rem = 1 și bază = 1)

num = 1101 / 10 => 110

baza de date java jdbc

baza = 1 * 2 => 2

A doua iterație:

rem = 110 % 10 => 0

decimal_num = 1 + 0 * 2 => 1 (decimal_val = 1, rem = 0 și bază = 2)

num = 110 / 10 => 11

baza = 2 * 2 => 4

A 3-a iterație:

rem = 11 % 10 => 1

decimal_num = 1 + 1 * 4 => 5 (decimal_val = 1, rem = 1 și bază = 4)

alya manasa

num = 11 / 10 => 1

subliniază folosind css

baza = 4 * 2 => 8

A 4-a iterație:

rem = 1 % 10 => 1

decimal_num = 5 + 1 * 8 => 1 (decimal_val = 5, rem = 1 și bază = 8)

num = 1 / 10 => 0

baza = 8 * 2 => 16

Convertiți numărul binar în număr zecimal folosind bucla for

Să luăm în considerare un program în limbaj C pentru a converti combinația de număr binar (0s și 1s) în număr zecimal folosind bucla for.

zecimală.c

sortare grămadă
 #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(); } 

Ieșire

 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 

Convertiți numărul binar în număr zecimal folosind funcția

Să luăm în considerare un program în limbaj C pentru a converti combinația de numere binar (0 și 1) în număr zecimal folosind funcția definită de utilizator.

deci.c

 #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; } 

Ieșire

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

Convertiți un număr binar în număr zecimal folosind matrice și funcție

Să luăm în considerare un program în limbaj C pentru a converti combinația de număr binar (0s și 1s) în număr zecimal folosind funcția și tabloul.

Decimal2.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; } 

Ieșire

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