Sådan konverteres decimal til binær i C

Sadan Konverteres Decimal Til Binaer I C



Computersystemer anvender ofte binære tal til at repræsentere data og instruktioner, men da decimaltal er nemmere for folk at forstå end binære, er konvertering derfor påkrævet. Denne artikel vil gennemgå forståelsen mellem decimaler til binær og give programeksempler på forskellige metoder, der konverterer decimaler til binære på programmeringssproget kaldet C.

Hvordan konverteres decimal til binær i C?

Den givne decimalværdi divideres med 2 flere gange, mens resten registreres, indtil vi kommer til 0 som den endelige kvotient. Denne proces bruges til at konvertere heltal fra decimal til binær. Formlen, der demonstrerer konverteringsprocessen fra decimal til binær, anses for at være de stadier, der er som følger:







Trin 1: Find resten ved at dividere tallet med 2, og føj det derefter til en matrix.



Trin 2: Dernæst divider du resten med to.



Trin 3: Udfør de første to trin igen, indtil resultatet overstiger 0.





Trin 4: Vis arrayet baglæns for at få tallets binære form. Den mindst-signifikante-bit (LSB) af et binært tal ligger øverst, mens den mest-signifikante-bit (MSB) er mod bunden, hvilket er en anden måde at fortolke dette på. Den binære ækvivalent af det angivne decimaltal er dette.

For at forstå dette bedre, er her en konvertering på  11 10 i decimal til binær konvertering:



division med 2 Kvotient Resten
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Skriv nu resten i omvendt rækkefølge, derfor decimal (11 10 ) bliver (1011 2 ).

Resten vil blive noteret og derefter skrevet, så (MSB) af det binære tal kommer først, derefter resten. Derfor 1011 2 er den binære ækvivalent af den givne decimalværdi 11 10 . Som et resultat, 11 10 = 1011 2 . Følgende er implementeringen af ​​den ovennævnte decimal til binær konvertering i C-sprog.

Metoder, der bruges til at konvertere decimal til binær

Disse metoder, der bruges i C-sprog, konverterer decimaltal til binære:

Implementer nu konverteringen af ​​decimaler til binære efter én ved hjælp af de ovennævnte fremgangsmåder.

Metode 1: Decimal til binær i C-programmering med for Loop

Nedenfor er konverteringen af ​​decimalcifferet(11) til binær ved hjælp af for-loop i C:

#include
ugyldig konvertere ( int nummer1 ) {
hvis ( nummer1 == 0 ) {
printf ( '0' ) ;
Vend tilbage ;
}
int binært_tal [ 32 ] ; // Forudsat 32 bit heltal.
int jeg = 0 ;
til ( ;nummer1 > 0 ; ) {
binært_tal [ i++ ] = nummer1 % 2 ;
nummer1 / = 2 ;
}
til ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binært_tal [ j ] ) ;
}
int main ( ) {
int num1;
printf ( 'Indtast et decimaltal: ' ) ;
scanf ( '%d' , & nummer1 ) ;
konvertere ( nummer1 ) ;
Vend tilbage 0 ;
}


Ovenstående program bruger for-løkken til at konvertere det decimaltal, som brugeren har angivet, til binært. Udgangen er:

Metode 2: Decimal til binær i C-programmering med while-løkke

I denne metode bruges while-løkken i C til at konvertere decimalcifferet (11) til binært, som vist nedenfor:

#include
int main ( ) {
int decimaltal, binært_tal = 0 , base = 1 , resten;
printf ( 'Indtast et decimaltal: ' ) ;
scanf ( '%d' , & decimaltal ) ;
mens ( decimaltal > 0 ) {
rest = decimaltal % 2 ;
binært_tal = binært_tal + resten * grundlag;
decimaltal = decimaltal / 2 ;
base = base * 10 ;
}
printf ( 'Binæren af ​​givet decimaltal med while-løkke er: %d' , binært_tal ) ;
Vend tilbage 0 ;
}


De fire heltalsvariable decimal_tal, binært_tal, grundtal og rest er først erklæret i dette program. Brugeren indtaster et decimaltal, som vi konverterer til dets binære_tal. Den binære konvertering udføres ved hjælp af while-løkken.

Metode 3: Decimal til binær i C-programmering med stak

Dette er den ligetil metode med et stakbaseret C-program, der ændrer en decimalværdi til en binær:

#include

#define MAX_SIZE 32 // maksimalt antal bits i binær repræsentation
int main ( ) {
int decimaltal, binær [ MAX_SIZE ] , øverst = -1 ;
printf ( 'Indtast et decimaltal: ' ) ;
scanf ( '%d' , & decimaltal ) ;
mens ( decimaltal > 0 ) {
binær [ ++top ] = decimaltal % 2 ;
decimaltal / = 2 ;
}
printf ( 'Det binære af %d ved brug af stakmetoden er:' ) ;
mens ( top > = 0 ) {
printf ( '%d' , binær [ top-- ] ) ;
}
Vend tilbage 0 ;
}


Vi erklærer først de tre heltalsvariable top, binær og decimaltal i dette program. Den øverste er indekset for det højeste element i stakken, decimal er tallet i en decimalform, der indtastes af brugeren, binær er en matrix, der vil indeholde bits i binær som MAX_SIZE bit og decimal_tal er den binære matrix. Derefter udføres den binære konvertering ved hjælp af en while-løkke.

Udgangen er:

Metode 4: Decimal til binær i C-programmering med Bitwise Operator

En operator kendt som en bitvis operation manipulerer hver af bits af binære symboler, der repræsenterer heltal. Følgende er et grundlæggende C-script, der bruger bitvise operationer til at oversætte et tal i decimaler til binært:

#include

// Denne metode vil vise alle 4 bits af et tal
ugyldig konvertering ( int nummer1 ) {
// Overvej en 4 -bit nummer
til ( int i = 3 ; jeg > = 0 ; jeg-- ) {
int bit = ( 1 << jeg ) ;
hvis ( nummer1 & lidt )
printf ( '1' ) ;
andet
printf ( '0' ) ;
}
}
int main ( ) {
int num1;
printf ( 'Indtast et decimaltal: ' ) ;
scanf ( '%d' , & nummer1 ) ;
konvertering ( nummer1 ) ;
Vend tilbage 0 ;
}


Dette program vil udføre en for-løkke gennem tallet, der starter ved den mest signifikante bit og slutter ved den bit med mindst betydning. Ved at udføre en 'bitwise AND'-operation på maske og num, kan vi bestemme, om bitten er enten 0 eller 1. Hvis den ikke er nul, er den nuværende bit 1; ellers er det 0.

For at vise den binære form af num1 skal du udskrive bit efter hver iteration. Det endelige output efter fuldstændig udførelse vil være som nedenfor:

Konklusion

Det er en væsentlig færdighed i computerprogrammering at konvertere tal fra decimal til binær. Transformation af decimaltal til binært sætter os i stand til at udføre forskellige operationer i C-programmering. Denne artikel indeholder 4 metoder til at konvertere decimalværdier til binære værdier.