logo

Binär-zu-Dezimalzahl in C

In diesem Abschnitt wird die Konvertierung von Binärzahlen in Dezimalzahlen erläutert. Bevor wir uns mit dem Konzept befassen, müssen wir Binärzahlen und Dezimalzahlen verstehen. Wie wir wissen, versteht der Computer die Wörter oder Zahlen, die Menschen schreiben oder schreiben, nicht. Stattdessen versteht es nur Nullen und Einsen. Wenn wir beispielsweise ein Wort oder eine Zahl auf einem Computer eingeben, helfen verschiedene Software oder Compiler dabei, diese Zahlen oder Wörter in Binärform (0er- und 1er-Bit) umzuwandeln. Damit eine Computermaschine diese leicht verstehen kann.

Java-Paar
Binär-zu-Dezimalzahl in C

Binäre Zahl

Eine Binärzahl ist eine Zahl, die in einem Computer gespeicherte Informationen oder Daten mit einer Kombination aus Nullen und Einsen darstellt. Es wird auch als Basis-2-Zahlensystem bezeichnet, da es zwei Bits hat, Nullen und Einsen. Dies sind Binärzahlen (0 und 1) 1001, 1010, 1101, 1111, 1010101 usw.

Dezimalzahl

Eine Dezimalzahl ist eine Zahl, die 10 Ziffern von 0 bis 9 enthält. Ihre Basis ist 10, weil sie 10 Ziffern (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) sammelt und darstellt oder macht Ganzzahl aus diesen zehn Ziffern.

Algorithmus zur Konvertierung von Binärzahlen in Dezimalzahlen

  1. Nehmen Sie als Eingabe eine Binärzahl.
  2. Teilen Sie die Zahl durch 10 und speichern Sie den Rest in der Variablen rem.
  3. decimal_num = decimal_num + rem * base;
    Anfangs ist decimal_num 0 und die Basis 1, wobei die Variable rem den Rest der Zahl speichert.
  4. Teilen Sie den Quotienten der ursprünglichen Zahl durch 10.
  5. Multiplizieren Sie die Basis mit 2.
  6. Drucken Sie die Dezimalzahl der Binärzahl aus.

Konvertieren Sie eine Binärzahl mithilfe einer While-Schleife in eine Dezimalzahl

Betrachten wir das C-Programm, um die Kombination einer Binärzahl (Nullen und Einsen) mithilfe einer While-Schleife in eine Dezimalzahl umzuwandeln.

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

Ausgabe

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

Erläuterungen zum Code: Wie wir im obigen Programm sehen können, fordert es vom Benutzer eine Binärzahl (0en und 1en) an, um die Zahl in der Variablen num zu speichern. Bei jeder Iteration prüft eine While-Schleife die Binärzahlbedingung und stellt sicher, dass die angegebene Zahl nicht kleiner als 0 sein darf. Andernfalls wird die Schleife verlassen.

Im Folgenden ist die Iteration der while-Schleife wie folgt aufgeführt:

1. Iteration:

rem = 1101 % 10 => 1

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

Anzahl = 1101 / 10 => 110

Basis = 1 * 2 => 2

2. Iteration:

Numpy-Punkt

rem = 110 % 10 => 0

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

Task-Manager für Linux

Anzahl = 110 / 10 => 11

Basis = 2 * 2 => 4

3. Iteration:

rem = 11 % 10 => 1

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

Anzahl = 11 / 10 => 1

Basis = 4 * 2 => 8

4. Iteration:

rem = 1 % 10 => 1

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

Anzahl = 1 / 10 => 0

Basis = 8 * 2 => 16

wie man Java druckt

Konvertieren Sie eine Binärzahl mithilfe einer for-Schleife in eine Dezimalzahl

Betrachten wir ein Programm in C-Sprache, um die Kombination aus Binärzahlen (0en und 1en) mithilfe einer for-Schleife in eine Dezimalzahl umzuwandeln.

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

Ausgabe

 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 

Konvertieren Sie eine Binärzahl mithilfe der Funktion in eine Dezimalzahl

Betrachten wir ein Programm in C-Sprache, um die Kombination von Binärzahlen (0en und 1en) mithilfe einer benutzerdefinierten Funktion in eine Dezimalzahl umzuwandeln.

also

Java-Hallo-Programm
 #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; } 

Ausgabe

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

Konvertieren Sie eine Binärzahl mithilfe eines Arrays und einer Funktion in eine Dezimalzahl

Betrachten wir ein Programm in C-Sprache, um die Kombination aus Binärzahlen (0en und 1en) mithilfe einer Funktion und eines Arrays in eine Dezimalzahl umzuwandeln.

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

Ausgabe

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