Hoe decimaal naar binair te converteren in C

Hoe Decimaal Naar Binair Te Converteren In C



Computersystemen gebruiken vaak binaire getallen om gegevens en instructies weer te geven, maar aangezien decimale cijfers voor mensen eenvoudiger te begrijpen zijn dan binaire getallen, is conversie vereist. Dit artikel gaat door het begrip tussen decimalen in binair en geeft programmavoorbeelden van verschillende methoden die decimalen omzetten in binair in de programmeertaal C.

Hoe decimaal naar binair in C te converteren?

De gegeven decimale waarde wordt verschillende keren door 2 gedeeld, waarbij de rest wordt geregistreerd totdat we bij 0 komen als het laatste quotiënt. Dit proces wordt gebruikt om gehele getallen om te zetten van decimaal naar binair. De formule die het conversieproces van decimaal naar binair laat zien, wordt beschouwd als de volgende fasen:







Stap 1: Zoek de rest door het getal door 2 te delen en voeg het vervolgens toe aan een array.



Stap 2: Deel vervolgens de rest door twee.



Stap 3: Voer de eerste twee stappen opnieuw uit totdat het resultaat groter is dan 0.





Stap 4: Geef de array achterstevoren weer om de binaire vorm van het getal te verkrijgen. De Least-Significant-Bit (LSB) van een binair getal ligt bovenaan, terwijl de Most-Significant-Bit (MSB) onderaan staat, wat een andere manier is om dit te interpreteren. Het binaire equivalent van het opgegeven decimale getal is dit.

Om dit beter te begrijpen, is hier een conversie van 11 10 in decimale naar binaire conversie:



Delen door 2 Quotiënt Rest
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Schrijf nu de rest in omgekeerde volgorde, dus decimaal (11 10 ) wordt (1011 2 ).

De rest wordt genoteerd en vervolgens zo geschreven dat de (MSB) van het binaire getal eerst komt, daarna de rest. Bijgevolg 1011 2 is het binaire equivalent van de gegeven decimale waarde 11 10 . Met als resultaat 11 10 = 1011 2 . Hieronder volgt de implementatie van de bovengenoemde decimaal naar binaire conversie in C-taal.

Methoden die worden gebruikt om decimaal naar binair te converteren

Deze methoden die in de C-taal worden gebruikt, zetten decimale cijfers om in binair:

Implementeer nu de conversie van decimalen in binaire één voor één volgens de bovengenoemde benaderingen.

Methode 1: decimaal naar binair in C Programmeren met for Loop

Hieronder ziet u de conversie van het decimale cijfer (11) naar binair met behulp van de for-lus in C:

#include
ongeldig converteren ( int num1 ) {
als ( getal1 == 0 ) {
printf ( '0' ) ;
opbrengst ;
}
int binair_getal [ 32 ] ; // Ervan uitgaand 32 beetje geheel getal.
int i = 0 ;
voor ( ;getal1 > 0 ; ) {
binair_getal [ ik++ ] = aantal1 % 2 ;
nummer1 / = 2 ;
}
voor ( int j = ik- 1 ; J > = 0 ; J-- )
printf ( '%D' , binair_getal [ J ] ) ;
}
int hoofd ( ) {
int getal1;
printf ( 'Voer een decimaal getal in: ' ) ;
scannen ( '%D' , & nummer1 ) ;
overzetten ( nummer1 ) ;
opbrengst 0 ;
}


Het bovenstaande programma gebruikt de for-lus om het door de gebruiker opgegeven decimale getal om te zetten in binair. De uitvoer is:

Methode 2: Decimaal naar Binair in C Programmeren met While Loop

Bij deze methode wordt de while-lus in C gebruikt om het decimale cijfer (11) om te zetten in binair, zoals hieronder weergegeven:

#include
int hoofd ( ) {
int decimaal_getal, binair_getal = 0 , basis = 1 , rest;
printf ( 'Voer een decimaal getal in: ' ) ;
scannen ( '%D' , & decimaal_getal ) ;
terwijl ( decimaal_getal > 0 ) {
rest = decimaal_getal % 2 ;
binair_getal = binair_getal + rest * baseren;
decimaal_getal = decimaal_getal / 2 ;
basis = basis * 10 ;
}
printf ( 'Het binaire getal van een gegeven decimaal getal met een while-lus is: %d' , binair_getal ) ;
opbrengst 0 ;
}


De vier integer-variabelen decimaal_getal, binair_getal, grondtal en rest worden eerst in dit programma gedeclareerd. De gebruiker voert een decimaal_getal in, dat we zullen converteren naar het binaire_getal. De binaire conversie wordt uitgevoerd met behulp van de while-lus.

Methode 3: decimaal naar binair in C-programmering met stapel

Dit is de eenvoudige methode met een op een stapel gebaseerd C-programma dat een decimale waarde verandert in een binair getal:

#include

#define MAX_SIZE 32 // maximaal aantal bits in binaire weergave
int hoofd ( ) {
int decimaal_getal, binair [ MAX_SIZE ] , bovenaan = -1 ;
printf ( 'Voer een decimaal getal in: ' ) ;
scannen ( '%D' , & decimaal_getal ) ;
terwijl ( decimaal_getal > 0 ) {
binair [ ++top ] = decimaal_getal % 2 ;
decimaal_getal / = 2 ;
}
printf ( 'Het binaire bestand van %d met behulp van de stapelmethode is: ' ) ;
terwijl ( bovenkant > = 0 ) {
printf ( '%D' , binair [ bovenkant-- ] ) ;
}
opbrengst 0 ;
}


We declareren eerst de drie integer-variabelen top, binary en decimal_num in dit programma. De bovenkant is de index van het hoogste element in de stapel, decimaal is het getal in decimale vorm dat door de gebruiker wordt ingevoerd, binair is een array die de binaire bits bevat als MAX_SIZE bits en decimal_num is de binaire array. Daarna wordt de binaire conversie uitgevoerd met behulp van een while-lus.

De uitvoer is:

Methode 4: Decimaal naar binair in C Programmeren met Bitwise Operator

Een operator die bekend staat als een bitsgewijze bewerking manipuleert elk van de bits van binaire symbolen die gehele getallen vertegenwoordigen. Het volgende is een eenvoudig C-script dat bitsgewijze bewerkingen gebruikt om een ​​getal in decimalen om te zetten in binair getal:

#include

// Deze methode toont alle 4 stukjes van een getal
ongeldige conversie ( int num1 ) {
// Overweeg a 4 -bit nummer
voor ( int ik = 3 ; i > = 0 ; i-- ) {
int bit = ( 1 << i ) ;
als ( nummer1 & beetje )
printf ( '1' ) ;
anders
printf ( '0' ) ;
}
}
int hoofd ( ) {
int getal1;
printf ( 'Voer een decimaal getal in: ' ) ;
scannen ( '%D' , & nummer1 ) ;
conversie ( nummer1 ) ;
opbrengst 0 ;
}


Dit programma voert een for-lus uit door het getal, beginnend bij de meest significante bit en eindigend bij de bit met de minste significantie. Door een 'bitsgewijze AND'-bewerking uit te voeren op mask en num, kunnen we bepalen of de bit 0 of 1 is. Als deze niet nul is, is de huidige bit 1; anders is het 0.

Om de binaire vorm van num1 weer te geven, geeft u de bit na elke iteratie weer. De uiteindelijke uitvoer na volledige uitvoering is als volgt:

Conclusie

Het is een essentiële vaardigheid in computerprogrammering om getallen om te zetten van decimaal naar binair. Het transformeren van decimale getallen naar binair stelt ons in staat om verschillende bewerkingen in C-programmering uit te voeren. Dit artikel biedt 4 methoden om decimale waarden om te zetten in binaire waarden.