Hoe binaire getallen om te zetten in decimalen in C

Hoe Binaire Getallen Om Te Zetten In Decimalen In C



Binaire getallen zijn combinaties van 0-en en 1-en, terwijl decimale getallen getallen met grondtal 10 zijn. Bij C-programmering zetten we binaire getallen om in decimale getallen om de prestaties van de code te verbeteren en het begrijpelijker te maken voor leerlingen.

Deze richtlijn gaat over het converteren van binaire getallen naar decimale getallen in C.

Voordat we ingaan op het concept zelf, laten we eens kijken wat binaire en decimale getallen zijn in C.







Binaire en decimale getalnotaties in C

Binaire getallen zijn getallen die worden weergegeven in de vorm van een combinatie van twee cijfers 0 en 1, en ze worden het basis 2 cijfersysteem genoemd. Decimale getallen daarentegen zijn getallen met grondtal 10 die bestaan ​​uit cijfers van 0 tot 9.



Zoals je ziet aan de naam binair wat twee betekent, dus als we getallen hebben in de vorm van een combinatie van twee cijfers 0 en 1, noemen we ze binaire getallen. het wordt het basis 2 cijfersysteem genoemd.



Waarom binaire getallen omzetten in decimalen in C

Werken met binaire getallen is een uitdaging voor ontwikkelaars vanwege de vele mogelijke combinaties van nullen en enen. Decimale getallen daarentegen zijn gemakkelijker te begrijpen en te verwerken, waardoor ze een snellere en efficiëntere methode zijn voor C-programma's. Het omzetten van binaire getallen naar decimale getallen in C omvat het vermenigvuldigen van alle binaire cijfers met de juiste macht van twee en het optellen van de resultaten, wat wordt gedaan met behulp van lussen.





Een eenvoudig algoritme om binair naar decimaal om te zetten in C

Hier is een eenvoudig algoritme om binair naar decimaal in C te converteren in zes eenvoudige stappen:

  • Neem een ​​binair getal als invoer van de gebruiker.
  • Initialiseer een variabele 'decimaal' naar 0 en een variabele 'base' naar 1.
  • Extraheer het meest rechtse cijfer van het binaire getal met behulp van de modulusoperator (%) en tel het product van dit cijfer en het grondtal op bij de decimale variabele.
  • Vermenigvuldig de basisvariabele met 2.
  • Verwijder het meest rechtse cijfer uit het binaire getal met de deling door een geheel getal (/).
  • Herhaal stappen 3-5 totdat alle cijfers zijn verwerkt.
  • Geef de decimale waarde weer van het binaire getal dat is opgeslagen in de variabele 'decimaal'.

Converteer binaire getallen naar decimalen in C

Het volgende is een eenvoudige code om binaire getallen om te zetten in decimalen in C-programmering.



#include

#include

int voornaamst ( ) {

lang lang A ;

printf ( 'Voer een binair getal in: ' ) ;

scannen ( '%ld' , & A ) ;

printf ( '%lld in binair = %d in de vorm van decimaal' , A , binaryToDecimal ( A ) ) ;

opbrengst 0 ; }

int binaryToDecimal ( lang lang A ) {

int dec = 0 , B = 0 , R ;

terwijl ( A != 0 ) {

R = A % 10 ;

A /= 10 ;

dec += R * pow ( 2 , B ) ;

++ B ;

}

opbrengst dec ;

}

In de bovenstaande code is een globale functie gemaakt als de naam 'binaryToDecimal' . Vervolgens declareren we in het algemeen een lange lange variabele als 'A' en vraag de gebruiker om een ​​binair getal toe te voegen en dit om te zetten in een decimaal getal door de 'binaryToDecimal' functie met parameter van a”. In de 'binaryToDecimal' functiedefinitie een decimale conversie via de while-lus.

Uitgang

Je kunt ook een ingebouwde gebruiken strtol() functie om binaire getallen om te zetten in decimalen in C-programmering.

Het volgende is de code voor een dergelijke functie:

#include

#include

int voornaamst ( ) {

char binaire_string [ ] = '1110' ;

char * ptr ;

lang decimale_waarde ;

decimale_waarde = crashte ( binaire_string , & ptr , 2 ) ;

printf ( 'Binaire tekenreeks' % S ' is gelijk aan de decimale waarde %ld. \N ' , binaire_string , decimale_waarde ) ;

opbrengst 0 ;

}

De bovenstaande code converteert een binaire string “1110” in zijn equivalente decimale waarde met behulp van de strtol() functie, die de binaire string, een pointer naar een char-pointer en de basis van het getalsysteem als argumenten neemt. Ten slotte drukt het het resultaat af naar de console met behulp van printf().

Uitgang

Conclusie

Zoals we weten, zijn mensen bekend met decimale getallen in vergelijking met binaire getallen, omdat ze moeilijk te beheren zijn. Decimale cijfers zijn eenvoudig uit te voeren rekenkundige bewerkingen omdat ze zich in basis 10 bevinden en hun verwerking sneller is in vergelijking met binaire cijfers, vandaar dat de binaire getallen worden omgezet in decimalen. In het bovenstaande overzicht is de conversie van binaire getallen naar decimalen uitgelegd met het C-programma met door de gebruiker gedefinieerde functies en ingebouwd strtol() functie.