Com convertir decimals a binaris en C

Com Convertir Decimals A Binaris En C



Els sistemes informàtics solen emprar nombres binaris per representar dades i instruccions, però com que els dígits decimals són més fàcils d'entendre per a la gent que els binaris, per tant, és necessària la conversió. Aquest article analitzarà la comprensió entre decimals en binaris i proporcionarà exemples de programes de diferents mètodes que converteixen decimals en binaris en el llenguatge de programació anomenat C.

Com convertir decimals en binaris en C?

El valor decimal donat es divideix per 2 diverses vegades, i la resta es registra fins que arribem a 0 com a quocient final. Aquest procés s'utilitza per convertir nombres enters de decimals a binaris. La fórmula que demostra el procés de conversió de decimal a binari es considera que són les etapes següents:







Pas 1: Trobeu la resta dividint el nombre per 2 i després afegiu-lo a una matriu.



Pas 2: A continuació, dividiu la resta per dos.



Pas 3: Torneu a fer els dos primers passos fins que el resultat superi 0.





Pas 4: Mostra la matriu cap enrere per obtenir la forma binària del nombre. El bit menys significatiu (LSB) d'un nombre binari es troba a la part superior, mentre que el bit més significatiu (MSB) és cap a la part inferior, que és una altra manera d'interpretar-ho. L'equivalent binari del nombre decimal proporcionat és aquest.

Per entendre-ho millor, aquí teniu una conversió de 11 10 en conversió decimal a binària:



Divisió per 2 Quocient La resta
11 ÷ 2 5 1 (LSB)
5 ÷ 2 2 1
2 ÷ 2 1 0
1 ÷ 2 0 1 (MSB)


Ara, escriviu la resta en l'ordre invers, per tant, decimal (11 10 ) es converteix en (1011 2 ).

La resta s'anotarà i després s'escriurà de manera que el (MSB) del nombre binari vingui primer i després la resta. En conseqüència, 1011 2 és l'equivalent binari del valor decimal donat 11 10 . Com a resultat, 11 10 = 1011 2 . A continuació es mostra la implementació de la conversió decimal esmentada a binària en llenguatge C.

Mètodes utilitzats per convertir decimals en binaris

Aquests mètodes que s'utilitzen en llenguatge C converteixen els dígits decimals en binaris:

Ara, implementeu la conversió de decimals en binaris per un mitjançant els enfocaments esmentats anteriorment.

Mètode 1: decimal a binari en programació C amb bucle for

A continuació es mostra la conversió del dígit decimal (11) en binari amb l'ajuda del bucle for a C:

#inclou
convertir en buit ( int num1 ) {
si ( num1 == 0 ) {
imprimirf ( '0' ) ;
tornar ;
}
int nombre_binari [ 32 ] ; // Assumint 32 bit enter.
int i = 0 ;
per ( ;núm1 > 0 ; ) {
nombre_binari [ i++ ] = núm1 % 2 ;
núm1 / = 2 ;
}
per ( int j = i- 1 ; j > = 0 ; j-- )
imprimirf ( '%d' , nombre_binari [ j ] ) ;
}
int principal ( ) {
int num1;
imprimirf ( 'Introduïu un nombre decimal:' ) ;
escanf ( '%d' , & núm1 ) ;
convertir ( núm1 ) ;
tornar 0 ;
}


El programa anterior utilitza el bucle for per convertir el nombre decimal proporcionat per l'usuari a binari. La sortida és:

Mètode 2: decimal a binari en programació C amb bucle while

En aquest mètode, el bucle while en C s'utilitza per convertir el dígit decimal (11), en binari, tal com es mostra a continuació:

#inclou
int principal ( ) {
int nombre_decimal, nombre_binari = 0 , base = 1 , resta;
imprimirf ( 'Introduïu un nombre decimal:' ) ;
escanf ( '%d' , & nombre_decimal ) ;
mentre ( nombre_decimal > 0 ) {
resta = nombre_decimal % 2 ;
nombre_binari = nombre_binari + resta * base;
nombre_decimal = nombre_decimal / 2 ;
base = base * 10 ;
}
imprimirf ( 'El binari del nombre decimal donat amb un bucle while és: %d' , nombre_binari ) ;
tornar 0 ;
}


Les quatre variables enteres decimal_num, binary_num, base i residu es declaren primer en aquest programa. L'usuari introdueix un nombre_decimal, que convertirem al seu nombre_binari. La conversió binària es realitza mitjançant el bucle while.

Mètode 3: decimal a binari en programació en C amb pila

Aquest és el mètode senzill amb un programa C basat en pila que canvia un valor decimal a un binari:

#inclou

#define MAX_SIZE 32 // nombre màxim de bits en representació binària
int principal ( ) {
int nombre_decimal, binari [ MAX_SIZE ] , superior = -1 ;
imprimirf ( 'Introduïu qualsevol nombre decimal:' ) ;
escanf ( '%d' , & nombre_decimal ) ;
mentre ( nombre_decimal > 0 ) {
binari [ ++ a dalt ] = nombre_decimal % 2 ;
nombre_decimal / = 2 ;
}
imprimirf ( 'El binari de %d utilitzant el mètode de pila és: ' ) ;
mentre ( superior > = 0 ) {
imprimirf ( '%d' , binari [ superior-- ] ) ;
}
tornar 0 ;
}


Primer declarem les tres variables enteres superior, binària i decimal_num en aquest programa. La part superior és l'índex de l'element més alt de la pila, decimal és el nombre en forma decimal que introdueix l'usuari, binary és una matriu que contindrà els bits en binari com a MAX_SIZE bits i decimal_num és la matriu binària. Després d'això, la conversió binària es porta a terme mitjançant un bucle while.

La sortida és:

Mètode 4: decimal a binari en programació C amb operador bit a bit

Un operador conegut com a operació per bits manipula cadascun dels bits dels símbols binaris que representen nombres enters. El següent és un script C bàsic que utilitza operacions bit a bit per traduir un nombre en decimals a binari:

#inclou

// Aquest mètode mostrarà tots els 4 bits d'un nombre
conversió nul·la ( int num1 ) {
// Considereu a 4 -número de bits
per ( int i = 3 ; i > = 0 ; jo-- ) {
int bit = ( 1 << i ) ;
si ( num1 & bit )
imprimirf ( '1' ) ;
altra cosa
imprimirf ( '0' ) ;
}
}
int principal ( ) {
int num1;
imprimirf ( 'Introduïu un nombre decimal:' ) ;
escanf ( '%d' , & num1 ) ;
conversió ( num1 ) ;
tornar 0 ;
}


Aquest programa executarà un bucle for a través del número començant pel bit més significatiu i acabant en el bit amb menys significació. Si realitzem una operació “AND per bits” a màscara i num, podem determinar si el bit és 0 o 1. Si no és zero, el bit actual és 1; en cas contrari, és 0.

Per mostrar la forma binària de num1, emet el bit després de cada iteració. La sortida final després de l'execució completa serà la següent:

Conclusió

És una habilitat essencial en la programació d'ordinadors per convertir nombres de decimals a binaris. La transformació de nombres decimals a binaris ens permet realitzar diferents operacions en programació en C. Aquest article proporciona 4 mètodes per convertir valors decimals en valors binaris.