Questa linea guida esaminerà come convertire i numeri binari in numeri decimali in C.
Prima di entrare nel concetto stesso, vediamo cosa sono i numeri binari e decimali in C.
Formati di numeri binari e decimali in C
I numeri binari sono numeri rappresentati sotto forma di una combinazione di due cifre 0 e 1 e sono indicati come sistema numerico in base 2. I numeri decimali, invece, sono numeri in base 10 costituiti da cifre comprese tra 0 e 9.
Come vedi dal nome binario che significa due, quindi quando abbiamo numeri sotto forma di una combinazione di due cifre 0 e 1, li chiamiamo numeri binari. è indicato come il sistema numerico in base 2.
Perché convertire i numeri binari in decimali in C
Lavorare con i numeri binari è impegnativo per gli sviluppatori a causa delle numerose possibili combinazioni di 0 e 1. I numeri decimali, d'altra parte, sono più facili da capire ed elaborare, rendendoli un metodo più veloce ed efficiente per i programmi C. La conversione di numeri binari in numeri decimali in C implica la moltiplicazione di tutte le cifre binarie per l'appropriata potenza di due e l'aggiunta dei risultati, che viene eseguita utilizzando i cicli.
Un semplice algoritmo per convertire binario in decimale in C
Ecco un semplice algoritmo per convertire binario in decimale in C utilizzando sei semplici passaggi:
- Prendi un numero binario come input dall'utente.
- Inizializza una variabile 'decimal' a 0 e una variabile 'base' a 1.
- Estrai la cifra più a destra del numero binario usando l'operatore modulo (%) e aggiungi il prodotto di questa cifra e la base alla variabile decimale.
- Moltiplica la variabile base per 2.
- Rimuovi la cifra più a destra dal numero binario usando la divisione intera (/).
- Ripetere i passaggi 3-5 finché tutte le cifre non sono state elaborate.
- Visualizza il valore decimale del numero binario memorizzato nella variabile 'decimale'.
Converti numeri binari in decimali in C
Quello che segue è un semplice codice per convertire i numeri binari in decimali nella programmazione C.
#include
#include
int principale ( ) {
lungo lungo UN ;
printf ( 'Inserisci un numero binario: ' ) ;
scanf ( '%lld' , & UN ) ;
printf ( '%lld in binario = %d in forma di decimale' , UN , binaryToDecimal ( UN ) ) ;
ritorno 0 ; }
int binaryToDecimal ( lungo lungo UN ) {
int dic = 0 , B = 0 , R ;
Mentre ( UN != 0 ) {
R = UN % 10 ;
UN /= 10 ;
dic += R * pow ( 2 , B ) ;
++ B ;
}
ritorno dic ;
}
Nel codice precedente, viene creata una funzione globale come nome 'binaryToDecimal' . Quindi, nel complesso, dichiariamo una variabile lunga lunga come 'UN' e chiedere all'utente di aggiungere un numero binario e convertirlo in decimale chiamando il metodo 'binaryToDecimal' funzione con parametro di a”. Nel 'binaryToDecimal' definizione di funzione una conversione decimale attraverso il ciclo while.
Produzione
Puoi anche usare un built-in strtol() funzione per convertire i numeri binari in decimali nella programmazione C.
Di seguito è riportato il codice per tale funzione:
#include#include
int principale ( ) {
char binario_stringa [ ] = '1110' ;
char * ptr ;
lungo valore_decimale ;
valore_decimale = incidentato ( binario_stringa , & ptr , 2 ) ;
printf ( 'Stringa binaria' % S ' è uguale al valore decimale %ld. \N ' , binario_stringa , valore_decimale ) ;
ritorno 0 ;
}
Il codice precedente converte una stringa binaria “1110” nel suo valore decimale equivalente utilizzando il strtol() funzione, che accetta come argomenti la stringa binaria, un puntatore a un puntatore a carattere e la base del sistema numerico. Infine, stampa il risultato sulla console utilizzando printf().
Produzione
Conclusione
Come sappiamo, gli esseri umani hanno familiarità con i numeri decimali rispetto al binario in quanto sono difficili da gestire. Le cifre decimali sono facili da eseguire operazioni aritmetiche in quanto sono in base 10 e la loro elaborazione è più veloce rispetto alle cifre binarie, quindi i numeri binari vengono convertiti in decimali. La panoramica sopra ha spiegato la conversione di numeri binari in decimali con il programma C con funzioni definite dall'utente e integrate strtol() funzione.