logo

Bináristól decimális számig C-ben

Ez a rész a bináris számok decimális számokká alakítását tárgyalja. Mielőtt rátérnénk a fogalomra, meg kell értenünk a bináris számokat és a decimális számokat. Mint tudjuk, a számítógép nem érti azokat a szavakat vagy számokat, amelyeket az emberek írnak vagy csinálnak. Ehelyett csak a 0-t és az 1-est érti. Például, amikor beírunk egy szót vagy számot a számítógépen, különféle szoftverek vagy fordítók segítenek ezeket a számokat vagy szavakat bináris formájúvá (0s és 1s bit) alakítani. Hogy egy számítógépes gép ezeket könnyen megértse.

ez mit jelent xd
Bináristól decimális számig C-ben

Bináris szám

A bináris szám olyan szám, amely a számítógépben tárolt információkat vagy adatokat 0 és 1 bitek kombinációjával reprezentálja. 2-es alapszámrendszernek is nevezik, mert két bitje van, 0 és 1. Ezek bináris számok (0 és 1) 1001, 1010, 1101, 1111, 1010101 stb.

Decimális szám

A decimális szám olyan szám, amely 10 számjegyet tartalmaz 0-tól 9-ig. Alapja 10, mert 10 számjegyet gyűjt össze (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), és a egész szám e tíz számjegy felhasználásával.

Algoritmus a bináris értékek decimálissá alakítására

  1. Vegyünk egy bináris számot bemenetként.
  2. Osszuk el a számot 10-zel, és tároljuk a maradékot rem változóban.
  3. decimális_szám = decimális_szám + rem * alap;
    Kezdetben a decimális_szám 0, az alap pedig 1, ahol a rem változó tárolja a szám fennmaradó részét.
  4. Az eredeti szám hányadosát osszuk el 10-zel.
  5. Szorozzuk meg az alapot 2-vel.
  6. Nyomtassa ki a bináris szám decimális részét.

Bináris szám konvertálása decimális számmá a while ciklus használatával

Tekintsük a C programot, amely egy bináris szám (0 és 1s) kombinációját decimális számmá konvertálja egy while ciklus segítségével.

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

Kimenet

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

A kód magyarázata: Ahogy a fenti programban is láthatjuk, egy bináris számot (0s és 1s) kér a felhasználóktól, hogy a számot a num változóba tárolják. Minden iterációnál egy while ciklus ellenőrzi a bináris számfeltételt, és érvényesíti, hogy az adott szám nem lehet kisebb 0-nál; ellenkező esetben kilép a hurokból.

Az alábbiakban látható a while ciklus iterációja, az alábbiak szerint:

1. iteráció:

rem = 1101 % 10 => 1

decimális_szám = 0 + 1 * 1 => 1 (tizedesérték = 0, rem = 1 és alap = 1)

szám = 1101 / 10 => 110

alap = 1 * 2 => 2

java továbbfejlesztett hurok

2. iteráció:

rem = 110 % 10 => 0

decimális_szám = 1 + 0 * 2 => 1 (tizedesérték = 1, rem = 0 és alap = 2)

szám = 110 / 10 => 11

alap = 2 * 2 => 4

3. iteráció:

rem = 11 % 10 => 1

slf4j vs log4j

decimális_szám = 1 + 1 * 4 => 5 (tizedesérték = 1, rem = 1 és alap = 4)

szám = 11/10 => 1

alap = 4 * 2 => 8

4. iteráció:

rem = 1 % 10 => 1

decimális_szám = 5 + 1 * 8 => 1 (tizedesérték = 5, rem = 1 és alap = 8)

egyszerű python program

szám = 1/10 => 0

alap = 8 * 2 => 16

Konvertálja a bináris számot decimális számmá a for ciklus segítségével

Tekintsünk egy C nyelvű programot, amely a bináris számok (0-k és 1-ek) kombinációját decimális számmá alakítja a for ciklus segítségével.

decimális.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(); } 

Kimenet

 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álja a bináris számot decimális számmá a függvény segítségével

Tekintsünk egy C nyelvű programot, amely a bináris számok (0s és 1s) kombinációját decimális számmá konvertálja a felhasználó által definiált függvény segítségével.

linux hibakódok

tehát 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; } 

Kimenet

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

Konvertálja a bináris számot decimális számmá tömb és függvény segítségével

Tekintsünk egy C nyelvű programot, amely a bináris számok (0-k és 1-ek) kombinációját decimális számmá konvertálja függvény és tömb segítségével.

Decimális2.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; } 

Kimenet

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