logo

Binārais līdz decimālais skaitlis C

Šajā sadaļā tiks apspriesta bināro skaitļu pārvēršana decimālskaitļos. Pirms došanās uz koncepciju, mums ir jāsaprot binārie skaitļi un decimālskaitļi. Kā zināms, dators nesaprot vārdus vai ciparus, ko cilvēki raksta vai dara. Tā vietā tas saprot tikai 0 un 1. Piemēram, kad mēs ierakstām vārdu vai skaitli datorā, dažādas programmatūras vai kompilatori palīdz pārvērst šos skaitļus vai vārdus binārā formā (0s un 1s biti). Lai datormašīna tos varētu viegli saprast.

zvaigžņu topoloģija
Binārais līdz decimālais skaitlis C

Binārais skaitlis

Binārs skaitlis ir skaitlis, kas apzīmē datorā saglabāto informāciju vai datus ar 0 un 1 bitu kombināciju. To sauc arī par 2 bāzes ciparu sistēmu, jo tai ir divi biti, 0 un 1. Tie ir binārie skaitļi (0 un 1) 1001, 1010, 1101, 1111, 1010101 utt.

Decimālskaitlis

Decimālskaitlis ir skaitlis, kurā ir 10 cipari no 0 līdz 9. Tā bāze ir 10, jo tas apkopo 10 ciparus (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) un apzīmē vai veido vesels skaitlis, izmantojot šos desmit ciparus.

Algoritms bināro pārveidošanai par decimāldaļu

  1. Kā ievadi ņemiet bināro skaitli.
  2. Sadaliet skaitli ar 10 un saglabājiet atlikušo daļu mainīgajā rem.
  3. decimal_num = decimal_num + rem * bāze;
    Sākotnēji decimal_num ir 0 un bāze ir 1, kur rem mainīgais saglabā atlikušo skaitļa daļu.
  4. Sadaliet sākotnējā skaitļa daļu ar 10.
  5. Reiziniet bāzi ar 2.
  6. Izdrukājiet binārā skaitļa decimāldaļu.

Konvertējiet bināro skaitli decimālskaitlī, izmantojot cilpu while

Apskatīsim C programmu, kas bināra skaitļa (0 un 1) kombināciju pārvērš decimālskaitlī, izmantojot kamēr cilpu.

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

Izvade

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

Koda skaidrojumi: Kā redzams iepriekš minētajā programmā, tā pieprasa bināru skaitli (0s un 1s) no lietotājiem, lai saglabātu numuru mainīgajā num. Katrā iterācijā cilpa while pārbauda binārā skaitļa nosacījumu un apstiprina, ka dotais skaitlis nedrīkst būt mazāks par 0; pretējā gadījumā tas iziet no cilpas.

Tālāk ir norādīta while cilpas iterācija:

1. atkārtojums:

rem = 1101 % 10 => 1

decimal_num = 0 + 1 * 1 => 1 (decimal_val = 0, rem = 1 un bāze = 1)

pamēģini noķert java

skaits = 1101/10 => 110

bāze = 1 * 2 => 2

2. atkārtojums:

rem = 110 % 10 => 0

decimālais_skaitlis = 1 + 0 * 2 => 1 (decimal_val = 1, rem = 0 un bāze = 2)

bfs vs dfs

skaits = 110/10 => 11

bāze = 2 * 2 => 4

3. atkārtojums:

rem = 11 % 10 => 1

decimālais_skaitlis = 1 + 1 * 4 => 5 (decimal_val = 1, rem = 1 un bāze = 4)

skaits = 11/10 => 1

bāze = 4 * 2 => 8

4. atkārtojums:

rem = 1 % 10 => 1

decimālais_skaitlis = 5 + 1 * 8 => 1 (decimal_val = 5, rem = 1 un bāze = 8)

skaits = 1/10 => 0

bāze = 8 * 2 => 16

25 c līdz k

Konvertējiet bināro skaitli decimālskaitlī, izmantojot for cilpu

Apskatīsim programmu C valodā, lai pārveidotu bināro skaitļu (0s un 1s) kombināciju decimālskaitlī, izmantojot for cilpu.

decimālzīme.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(); } 

Izvade

 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 

Konvertējiet bināro skaitli decimālskaitlī, izmantojot funkciju

Apskatīsim programmu C valodā, lai pārveidotu bināro skaitļu (0 un 1) kombināciju decimālskaitlī, izmantojot lietotāja definētu funkciju.

tātad c

kas ir interfeiss
 #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; } 

Izvade

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

Konvertējiet bināro skaitli decimālskaitlī, izmantojot masīvu un funkciju

Apskatīsim programmu C valodā, lai pārveidotu bināro skaitļu (0 un 1) kombināciju decimālskaitlī, izmantojot funkciju un masīvu.

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

Izvade

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