logo

Binarno v decimalno število v C

V tem razdelku bomo obravnavali pretvorbo binarnih števil v decimalna števila. Preden preidemo na koncept, moramo razumeti binarna števila in decimalna števila. Kot vemo, računalnik ne razume besed ali številk, ki jih ljudje pišejo ali naredijo. Namesto tega razume samo 0 in 1. Na primer, ko v računalnik vnesemo besedo ali številko, nam različna programska oprema ali prevajalniki pomagajo pretvoriti te številke ali besede v dvojiško obliko (0s in 1s bit). Tako, da jih računalniški stroj zlahka razume.

kazalci v c
Binarno v decimalno število v C

Binarno število

Binarno število je število, ki predstavlja informacije ali podatke, shranjene v računalniku, s kombinacijo bitov 0s in 1s. Znan je tudi kot številski sistem z osnovo 2, ker ima dva bita, 0 in 1. To so binarna števila (0 in 1) 1001, 1010, 1101, 1111, 1010101 itd.

Decimalno število

Decimalno število je število, ki vsebuje 10 števk od 0 do 9. Njegova osnova je 10, ker zbere 10 števk (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) in predstavlja ali tvori celo število z uporabo teh desetih številk.

Algoritem za pretvorbo binarnih v decimalne

  1. Kot vhod vzemite binarno število.
  2. Število delite z 10 in ostanek shranite v spremenljivko rem.
  3. decimalno_število = decimalno_število + rem * osnova;
    Na začetku je decimal_num 0, osnova pa 1, kjer spremenljivka rem shrani preostanek števila.
  4. Kvocient prvotnega števila delite z 10.
  5. Osnovo pomnožite z 2.
  6. Natisnite decimalko binarnega števila.

Pretvorite binarno število v decimalno število z uporabo zanke while

Oglejmo si program C za pretvorbo kombinacije binarnega števila (0 in 1) v decimalno število z uporabo zanke 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(); } 

Izhod

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

Pojasnila kode: Kot lahko vidimo v zgornjem programu, od uporabnikov zahteva binarno število (0 in 1), da shrani število v spremenljivko num. Pri vsaki ponovitvi zanka while preveri pogoj binarnega števila in potrdi, da dano število ne sme biti manjše od 0; sicer izstopi iz zanke.

Sledi ponovitev zanke while, kot sledi:

xd xd pomen

1. ponovitev:

rem = 1101 % 10 => 1

decimal_num = 0 + 1 * 1 => 1 (decimal_val = 0, rem = 1 in osnova = 1)

št = 1101 / 10 => 110

osnova = 1 * 2 => 2

2. ponovitev:

rem = 110 % 10 => 0

vzorec načrtovanja tovarniške metode

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

št = 110 / 10 => 11

osnova = 2 * 2 => 4

3. ponovitev:

rem = 11 % 10 => 1

decimal_num = 1 + 1 * 4 => 5 (decimal_val = 1, rem = 1 in osnova = 4)

št = 11 / 10 => 1

osnova = 4 * 2 => 8

4. ponovitev:

rem = 1 % 10 => 1

c niz v matriki

decimal_num = 5 + 1 * 8 => 1 (decimal_val = 5, rem = 1 in osnova = 8)

št = 1/10 => 0

osnova = 8 * 2 => 16

Pretvorite binarno število v decimalno število z uporabo zanke for

Oglejmo si program v jeziku C za pretvorbo kombinacije binarnega števila (0 in 1) v decimalno število z uporabo zanke for.

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

Izhod

 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 

Pretvorite binarno število v decimalno s funkcijo

Oglejmo si program v jeziku C za pretvorbo kombinacije binarnega števila (0 in 1) v decimalno število z uporabo uporabniško določene funkcije.

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

Izhod

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

Pretvorite binarno število v decimalno število z uporabo matrike in funkcije

Oglejmo si program v jeziku C za pretvorbo kombinacije binarnega števila (0 in 1) v decimalno število z uporabo funkcije in matrike.

salman khan khan starost

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

Izhod

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