Hur man konverterar decimal till binär i C

Hur Man Konverterar Decimal Till Binar I C



Datorsystem använder ofta binära tal för att representera data och instruktioner, men eftersom decimalsiffror är enklare för människor att förstå än binära, så krävs konvertering. Den här artikeln kommer att gå igenom förståelsen mellan decimaler till binärt och ge programexempel på olika metoder som konverterar decimaler till binära på programmeringsspråket som kallas C.

Hur konverterar man decimal till binär i C?

Det givna decimalvärdet divideras med 2 flera gånger, medan resten registreras tills vi kommer till 0 som slutkvot. Denna process används för att konvertera heltal från decimal till binär. Formeln som visar omvandlingsprocessen från decimal till binär anses vara de steg som är följande:







Steg 1: Hitta resten genom att dividera talet med 2 och lägg sedan till det i en matris.



Steg 2: Dela sedan resten med två.



Steg 3: Utför de två första stegen igen tills resultatet överstiger 0.





Steg 4: Visa matrisen bakåt för att få numrets binära form. Den minst signifikanta biten (LSB) för ett binärt tal ligger överst, medan den mest signifikanta biten (MSB) är mot botten, vilket är ett annat sätt att tolka detta. Den binära motsvarigheten till det angivna decimaltalet är detta.

För att förstå detta bättre, här är en konvertering på 11 10 i decimal till binär konvertering:



Division med 2 Kvot Återstoden
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Skriv nu resten i omvänd ordning, alltså decimal (11 10 ) blir (1011 2 ).

Resten kommer att noteras och sedan skrivas så att (MSB) för det binära talet kommer först, sedan resten. Följaktligen 1011 2 är den binära motsvarigheten till det givna decimalvärdet 11 10 . Som ett resultat, 11 10 = 1011 2 . Följande är implementeringen av den ovan nämnda decimalen till binär konvertering i C-språk.

Metoder som används för att konvertera decimal till binär

Dessa metoder som används i C-språk konverterar decimalsiffror till binära:

Implementera nu omvandlingen av decimaler till binära ettor i taget med de ovan nämnda metoderna.

Metod 1: Decimal till binär i C-programmering med för loop

Nedan är omvandlingen av decimalsiffran(11) till binär med hjälp av for-loop i C:

#include
ogiltig konvertera ( int num1 ) {
om ( num1 == 0 ) {
printf ( '0' ) ;
lämna tillbaka ;
}
int binärt_tal [ 32 ] ; // Förutsatt 32 bit heltal.
int i = 0 ;
för ( ;nummer1 > 0 ; ) {
binärt_tal [ i++ ] = nummer1 % 2 ;
nummer1 / = 2 ;
}
för ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binärt_tal [ j ] ) ;
}
int main ( ) {
int num1;
printf ( 'Ange ett decimaltal: ' ) ;
scanf ( '%d' , & nummer1 ) ;
konvertera ( nummer1 ) ;
lämna tillbaka 0 ;
}


Ovanstående program använder for-slingan för att konvertera det decimaltal som användaren tillhandahåller till binärt. Utgången är:

Metod 2: Decimal till binär i C-programmering med while-loop

I denna metod används while-loopen i C för att omvandla decimalsiffran (11) till binär, som visas nedan:

#include
int main ( ) {
int decimaltal, binärt_tal = 0 , bas = 1 , återstoden;
printf ( 'Ange ett decimaltal: ' ) ;
scanf ( '%d' , & decimaltal ) ;
medan ( decimaltal > 0 ) {
rest = decimaltal % 2 ;
binärt_tal = binärt_tal + resten * bas;
decimaltal = decimaltal / 2 ;
bas = bas * 10 ;
}
printf ( 'Binären för givet decimaltal med while-loop är: %d' , binärt_tal ) ;
lämna tillbaka 0 ;
}


De fyra heltalsvariablerna decimal_num, binärt_tal, bas och resten deklareras först i detta program. Användaren anger ett decimaltal, som vi konverterar till dess binära_tal. Den binära konverteringen utförs med while-loopen.

Metod 3: Decimal till binär i C-programmering med stack

Detta är den enkla metoden med ett stackbaserat C-program som ändrar ett decimalvärde till ett binärt:

#include

#define MAX_SIZE 32 // maximalt antal bitar i binär representation
int main ( ) {
int decimaltal, binär [ MAX_SIZE ] , topp = -1 ;
printf ( 'Vänligen ange ett decimaltal: ' ) ;
scanf ( '%d' , & decimaltal ) ;
medan ( decimaltal > 0 ) {
binär [ ++top ] = decimaltal % 2 ;
decimaltal / = 2 ;
}
printf ( 'Binären för %d med stackmetoden är:' ) ;
medan ( topp > = 0 ) {
printf ( '%d' , binär [ topp-- ] ) ;
}
lämna tillbaka 0 ;
}


Vi deklarerar först de tre heltalsvariablerna top, binary och decimal_num i detta program. Den översta är indexet för det högsta elementet i stacken, decimal är talet i decimalform som skrivs in av användaren, binär är en array som kommer att innehålla bitarna i binärt som MAX_SIZE bitar och decimal_num är den binära arrayen. Därefter utförs den binära konverteringen med hjälp av en while-loop.

Utgången är:

Metod 4: Decimal till binär i C-programmering med Bitwise Operator

En operator känd som en bitvis operation manipulerar var och en av bitarna av binära symboler som representerar heltal. Följande är ett grundläggande C-skript som använder bitvisa operationer för att översätta ett tal i decimaler till binärt:

#include

// Denna metod kommer att visa alla 4 bitar av ett nummer
ogiltig konvertering ( int num1 ) {
// Överväg a 4 -bit nummer
för ( int i = 3 ; i > = 0 ; jag-- ) {
int bit = ( 1 << i ) ;
om ( nummer1 & bit )
printf ( '1' ) ;
annan
printf ( '0' ) ;
}
}
int main ( ) {
int num1;
printf ( 'Ange ett decimaltal: ' ) ;
scanf ( '%d' , & nummer1 ) ;
omvandling ( nummer1 ) ;
lämna tillbaka 0 ;
}


Detta program kommer att köra en for-loop genom numret som börjar på den mest signifikanta biten och slutar på den bit som har minst signifikans. Genom att utföra en 'bitvis OCH'-operation på mask och num kan vi avgöra om biten är antingen 0 eller 1. Om den inte är noll är den aktuella biten 1; annars är det 0.

För att visa den binära formen av num1, mata ut biten efter varje iteration. Den slutliga utgången efter fullständig körning kommer att se nedan:

Slutsats

Det är en väsentlig färdighet i datorprogrammering att konvertera tal från decimal till binär. Att omvandla decimaltal till binärt gör att vi kan utföra olika operationer i C-programmering. Den här artikeln gav fyra metoder för att konvertera decimalvärden till binära värden.