Binär-Dezimal-Konvertierung in C++

Binar Dezimal Konvertierung In C



In dem Artikel sehen wir uns die Konvertierung von Binärwerten in Dezimalwerte in einem C++-Programm an. Die Binärzahl wird durch die Ziffern 0 und 1 dargestellt, während die Dezimalwerte die Ziffern im Bereich von 0 bis 9 enthalten. Um eine Binär-in-Dezimal-Umwandlung durchzuführen, sollte der Binärwert mit 2 hoch multipliziert werden. n“ beginnend von rechts nach links mit einem höheren „n“. Implementieren wir dies im Code, um einen Binärwert in einen Dezimalwert umzuwandeln.

Beispiel 1: Programm von Binär zu Dezimal mithilfe der „While“-Schleife

Wir haben ein folgendes Programm, um die Zahl von binär in dezimal umzuwandeln. Innerhalb des Programms verwenden wir die „while“-Schleife für die Binärkonvertierung in Dezimalzahlen.

#include
#include

verwenden Namensraum std ;

int ConversionOfBin ( lang lang ) ;

int hauptsächlich ( ) {
lang lang Auf eins ;
cout << „Binärzahl erforderlich:“ ;
Essen >> Auf eins ;
cout << Auf eins << ' in binär = ' << ConversionOfBin ( Auf eins ) << „in Dezimalzahl“ ;
zurückkehren 0 ;
}

int ConversionOfBin ( lang lang Auf eins ) {
int Also = 0 , X = 0 , Rest ;

während ( Auf eins ! = 0 ) {
Rest = Auf eins % 10 ;
Auf eins / = 10 ;
Dez + = Rest * pow ( 2 , X ) ;
++ X ;
}

zurückkehren Also ;
}

Hier definieren wir die Header-Datei „iostream“ für die Eingabe- und Ausgabestreams und „cmath“, um die mathematische Funktion im Programm zu nutzen. Danach definieren wir die Funktion ConversionOfBin(), in der der Parameter vom Typ „long long“ übergeben wird. Als nächstes haben wir einen main()-Funktionsaufruf, um das Programm auszuführen. Wir deklarieren eine lange Intertypvariable namens „num“ innerhalb der Funktion main().







Danach wandelt die Funktion ConversionOfBin() die eingegebene Binärzahl in die Dezimalzahl um. Dafür haben wir nach dem Treibercode die Definition der Funktion ConversionOfBin(). Die Funktion ConversionOfBin() wird mit der Variablen „num“ übergeben, die die Binärzahl enthält. Dann rufen wir die „while“-Schleife auf, um die Binärzahl in „num“ in einen Dezimalwert umzuwandeln. Zuvor initialisieren wir die Variablen „deci“, „x“ und „remainder“ mit dem Wert „0“.



Innerhalb der „while“-Schleife wird die Divisionsoperation durchgeführt, um den Wert ganz rechts der Binärzahl darzustellen. Die Divisionsergebnisse werden in der Variablen „remainder“ gespeichert. Dann addieren wir die Ergebnisse des Rests und die Potenzergebnisse zur Variable „deci“. Die Variable „x“ wertet weiterhin die Wirkleistung von 2 aus.



Die Ergebnisse der Konvertierung der angegebenen Binärzahlen in Dezimalwerte werden in der C++-Konsole erzielt:





Beispiel 2: Programm von Binär zu Dezimal mithilfe der „For“-Schleife

Die Umwandlung von binär in dezimal wurde mithilfe einer „while“-Schleife durchgeführt. Wir können jedoch auch die „for“-Schleifenmethode verwenden, um die Binärbits in die Dezimalzahl umzuwandeln.



#include
#include

int hauptsächlich ( ) {
std :: Zeichenfolge Behälter ;
std :: cout << „Binärzahl eingeben:“ ;
std :: Essen >> Behälter ;

int Dez = 0 ;
int baseIs = 1 ;

für ( int A = Behälter. Länge ( ) - 1 ; A >= 0 ; A -- ) {
Wenn ( Behälter [ A ] == '1' ) {
Dez + = baseIs ;
}
baseIs * = 2 ;
}

std :: cout << „Ergebnisse in Dezimalzahl:“ << Dez << std :: endl ;

zurückkehren 0 ;
}

Hier beginnen wir mit dem Funktionsprogramm main(), in dem wir die Variable „std::string“ haben, die „bin“ ist, um die vom Benutzer in der Eingabeaufforderung eingegebene Binärzahl zu speichern. Zunächst fordert die Eingabeaufforderung den Benutzer auf, die Binärzahl mithilfe der „cout“-Anweisung einzugeben. Dann liest der Befehl „cin“ diese Binärzahl. Danach initialisieren wir die Variable „dec“ mit dem Wert „0“ und die Variable „baseIs“ mit dem Wert „1“, um das Dezimaläquivalent zu erhalten.

Dann rufen wir eine „for“-Schleife auf, die jede Zahl der angegebenen Binärdatei von rechts nach links durchläuft. Innerhalb der Schleife haben wir eine „if“-Bedingung, um zu überprüfen, ob die Binärzahl 1 ist. Wenn sie 1 ist, wird der Dezimalwert zur Variablen „dec“ addiert. Die Variable „baseIs“ hat die Potenz 2 und muss bei jeder Iteration mit 1 multipliziert werden.

Der Wert der Binärzahl und ihre Umwandlung in den Dezimalwert wird auf dem Eingabeaufforderungsbildschirm angezeigt:

Beispiel 3: Programm zur Umwandlung einer Binärzeichenfolge in eine Dezimalzahl

Der binäre Zeichenfolgenwert ist nun so definiert, dass sein Wert in den Dezimalwert umgewandelt wird. Die folgende Implementierung wird durchgeführt, um den binären Zeichenfolgewert in einen Dezimalwert umzuwandeln:

#include
#include
verwenden Namensraum std ;

int binToDec ( Zeichenfolgenwert )
{
Zeichenfolgenwert = val ;
int Dezimalwert = 0 ;

int Basiswert = 1 ;

int nur = Wert. Länge ( ) ;
für ( int M = nur - 1 ; M >= 0 ; M -- ) {
Wenn ( val [ M ] == '1' )
Dezimalwert + = Basiswert ;
Basiswert = Basiswert * 2 ;
}

zurückkehren Dezimalwert ;
}

int hauptsächlich ( )
{
Zeichenfolgenwert = „11100101“ ;
cout << binToDec ( val ) << endl ;
}

Hier beginnen wir mit der Erstellung einer BinToDec()-Funktion zur Umwandlung von Binärziffern in Dezimalwerte. Die Funktion BinToDec() übernimmt das Argument „val“ vom Typ String. Innerhalb der Funktion BinToDec() initialisieren wir die Variable „value“ mit der Variablen „val“, die angibt, dass der Wert der Variablen „val“ in der Variablen „value“ gespeichert wird. Dann deklarieren wir eine neue Variable, „decimal_value“, der der Wert 0 zugewiesen wird.

Ebenso wird die Variable „base_value“ gesetzt und mit dem Wert 1 initialisiert. Als nächstes definieren wir die Variable „len“, in der die Funktion length() aufgerufen wird, um die Länge der Binärzahl zu ermitteln. Nach der Initialisierung der Variablen haben wir die „for“-Schleifeniteration. Die „for“-Schleife iteriert jede Ziffer einer Binärzahl von rechts nach links.

Danach haben wir eine main()-Funktion, bei der die Binärzahl als String-Wert für die Variable „val“ angegeben wird, die in den Dezimalwert umgewandelt wird, wenn wir die Funktion BinToDec(val) mit dem Befehl „cout“ aufrufen.

Der binäre Wert vom Typ String wird nun in den Dezimalwert umgewandelt, wie im Folgenden dargestellt:

Beispiel 4: Programm von Binär zu Dezimal mithilfe der Bitset-Klasse

Darüber hinaus können wir die Binärzahl in die Dezimalzahl umwandeln, indem wir die „Bitset“-Klasse von C++ im Programm definieren. Es bietet Funktionen, mit denen der Konvertierungsvorgang sehr einfach ist.

#include
#include

int hauptsächlich ( ) {
std :: Zeichenfolge binärIs ;
std :: cout << „Bitte geben Sie eine Binärzahl ein:“ ;
std :: Essen >> binärIs ;

std :: Bitsatz < 64 > binär ( binärIs ) ;
ohne Vorzeichen lang Dezimalzahl = binär. zu lang ( ) ;

std :: cout << 'Dezimalzahl: ' << Dezimalzahl << std :: endl ;

zurückkehren 0 ;
}

Hier legen wir die „Bitset“-Bibliothek von C++ im Header fest, was bei der Arbeit mit Binärwerten sehr hilfreich ist. Danach haben wir eine main()-Funktionsdefinition, in der wir „std::string“ verwenden, um die Variable „binaryIs“ zu deklarieren. Die Variable „binaryIs“ speichert den Wert von „binary“ im String. Als nächstes bitten wir den Benutzer, die Binärzahl in die Eingabeaufforderung einzufügen, und sie wird über den Befehl „cin“ gelesen. Danach passen wir die Größe der Bits an, die eine Ganzzahl von 64 Bits sein kann. Anschließend wird die Funktion to_ulong() aus der Klasse „bitset“ in die Variable „decimalNumber“ aufgerufen. Die Funktion to_ulong() konvertiert den Bitsatz in einen vorzeichenlosen langen Datentyp. Zuletzt verwenden wir den Befehl „cout“, um den Dezimalwert des vom Benutzer angegebenen Binärwerts auszugeben.

Der vom Benutzer bereitgestellte Binärwert wird nun in den Dezimalwert umgewandelt:

Abschluss

Abschließend haben wir die Methoden zur Umwandlung eines Binärwerts in einen Dezimalwert behandelt. Für die Binärkonvertierung in Dezimalzahlen haben wir die „for“-Schleife, die „while“-Schleife und die Bitset-Klassen-Ansätze verwendet. Diese Ansätze wandeln die Binärzahlen in Dezimalsysteme um, was das Lesen und Verstehen erleichtert.