Conversione da binario a decimale in C++

Conversione Da Binario A Decimale In C



Nell'articolo vedremo la conversione di valori binari in valori decimali in un programma C++. Il numero binario è rappresentato dalle cifre 0 e 1, mentre i valori decimali contengono le cifre che vanno da 0 a 9. Per realizzare una conversione da binario a decimale, il valore binario deve essere moltiplicato per 2 elevato alla potenza di “ n” partendo da destra e procedendo verso sinistra con una “n” più alta. Implementiamolo nel codice per trasformare un valore binario in un valore decimale.

Esempio 1: programma da binario a decimale utilizzando il ciclo 'While'.

Abbiamo un seguente programma per convertire il numero da binario a decimale. All'interno del programma utilizziamo il ciclo “mentre” per la conversione da binario a decimale.

#include
#include

utilizzando spazio dei nomi standard ;

int conversioneOfBin ( lungo lungo ) ;

int principale ( ) {
lungo lungo nessuno ;
cout << 'Numero binario richiesto:' ;
mangiare >> nessuno ;
cout << nessuno << ' in binario = ' << conversioneOfBin ( nessuno ) << 'in decimale' ;
ritorno 0 ;
}

int conversioneOfBin ( lungo lungo nessuno ) {
int COSÌ = 0 , X = 0 , resto ;

Mentre ( nessuno ! = 0 ) {
resto = nessuno % 10 ;
nessuno / = 10 ;
dicembre + = resto * pow ( 2 , X ) ;
++ X ;
}

ritorno COSÌ ;
}

Qui definiamo il file di intestazione 'iostream' per i flussi di input e output e 'cmath' per utilizzare la funzione matematica nel programma. Successivamente definiamo la funzione ConversionOfBin() dove viene passato il parametro di tipo “long long”. Successivamente, abbiamo una chiamata alla funzione main() per eseguire il programma. Dichiariamo una variabile di tipo inter lungo chiamata “num” all'interno della funzione main().







Successivamente, la funzione ConversionOfBin() converte il numero binario di input nel numero decimale. Per questo abbiamo la definizione della funzione ConversionOfBin() dopo il codice del driver. La funzione ConversionOfBin() viene passata con la variabile 'num' che contiene il numero binario. Quindi chiamiamo il ciclo “ while” per trasformare il numero binario in “num” in un valore decimale. Prima di ciò, inizializziamo le variabili “deci”, “x” e “resto” con il valore “0”.



All'interno del ciclo 'mentre', l'operazione di divisione viene eseguita per rappresentare il valore più a destra del numero binario. I risultati della divisione vengono memorizzati nella variabile 'resto'. Quindi, aggiungiamo i risultati del resto e i risultati della potenza nella variabile “deci”. La variabile “x” continua a valutare la potenza attiva di 2.



I risultati della conversione dei numeri binari specificati in valori decimali si ottengono nella console C++:





Esempio 2: programma da binario a decimale utilizzando il ciclo 'For'.

La trasformazione da binario a decimale è stata eseguita utilizzando un ciclo “mentre”. Possiamo però anche utilizzare il metodo del ciclo “for” per trasformare i bit binari nel numero decimale.



#include
#include

int principale ( ) {
standard :: corda bidone ;
standard :: cout << 'Inserisci numero binario: ' ;
standard :: mangiare >> bidone ;

int dicembre = 0 ;
int baseIs = 1 ;

per ( int UN = bidone. lunghezza ( ) - 1 ; UN >= 0 ; UN -- ) {
Se ( bidone [ UN ] == '1' ) {
dicembre + = baseIs ;
}
baseIs * = 2 ;
}

standard :: cout << 'Risultati in decimale: ' << dicembre << standard :: fine ;

ritorno 0 ;
}

Qui iniziamo con il programma di funzione main() in cui abbiamo la variabile 'std::string' che è 'bin' per memorizzare il numero binario immesso dall'utente nel prompt. Inizialmente, il prompt chiederà all'utente di inserire il numero binario utilizzando l'istruzione 'cout'. Quindi, il comando “cin” leggerà quel numero binario. Successivamente, inizializziamo la variabile “dec” con il valore “0” e la variabile “baseIs” con il valore “1” per ottenere l’equivalente decimale.

Quindi chiamiamo un ciclo 'for' che esegue il ciclo su ciascun numero del binario specificato da destra a sinistra. All'interno del ciclo, abbiamo una condizione 'if' per verificare se il numero binario è 1. Se è 1, il valore decimale viene aggiunto alla variabile 'dec'. La variabile 'baseIs' ha la potenza di 2 da moltiplicare per 1 ad ogni iterazione.

Il valore del numero binario e la sua conversione nel valore decimale vengono visualizzati nella schermata di richiesta:

Esempio 3: programma da stringa binaria a decimale

Il valore della stringa binaria è ora definito per convertire il suo valore nel valore decimale. Viene eseguita la seguente implementazione per trasformare il valore della stringa binaria in un valore decimale:

#include
#include
utilizzando spazio dei nomi standard ;

int binToDec ( stringa val )
{
valore stringa = val ;
int valore_decimale = 0 ;

int valore_base = 1 ;

int soltanto = valore. lunghezza ( ) ;
per ( int M = soltanto - 1 ; M >= 0 ; M -- ) {
Se ( val [ M ] == '1' )
valore_decimale + = valore_base ;
valore_base = valore_base * 2 ;
}

ritorno valore_decimale ;
}

int principale ( )
{
stringa val = '11100101' ;
cout << binToDec ( val ) << fine ;
}

Qui iniziamo con la creazione di una funzione BinToDec() per la conversione di cifre binarie in valori decimali. La funzione BinToDec() accetta l'argomento 'val' del tipo stringa. All'interno della funzione BinToDec(), inizializziamo la variabile “value” con la variabile “val” che rappresenta che il valore della variabile “val” verrà memorizzato nella variabile “value”. Quindi, dichiariamo una nuova variabile, “decimal_value”, a cui viene assegnato il valore 0.

Allo stesso modo, la variabile “base_value” viene impostata e inizializzata con il valore 1. Successivamente, definiamo la variabile “len” in cui viene chiamata la funzione length() per ottenere la lunghezza del numero binario. Dopo l'inizializzazione della variabile, abbiamo l'iterazione del ciclo “for”. Il ciclo 'for' ripete ogni cifra di un numero binario da destra a sinistra.

Successivamente, abbiamo una funzione main() in cui il numero binario viene specificato come valore stringa nella variabile 'val' che viene convertita nel valore decimale quando chiamiamo la funzione BinToDec(val) con il comando 'cout'.

Il valore binario di tipo stringa viene ora convertito nel valore decimale come visualizzato di seguito:

Esempio 4: programma da binario a decimale utilizzando la classe Bitset

Inoltre, possiamo convertire il numero binario in numero decimale definendo la classe “bitset” del C++ nel programma. Fornisce le funzioni attraverso le quali la procedura di conversione è molto semplice.

#include
#include

int principale ( ) {
standard :: corda binarioIs ;
standard :: cout << 'Si prega di fornire il numero binario: ' ;
standard :: mangiare >> binarioIs ;

standard :: bitset < 64 > binario ( binarioIs ) ;
non firmato lungo numero decimale = binario. troppo lungo ( ) ;

standard :: cout << 'Numero decimale: ' << numero decimale << standard :: fine ;

ritorno 0 ;
}

Qui impostiamo la libreria “bitset” di C++ nell'intestazione che è molto utile quando si lavora con valori binari. Successivamente, abbiamo una definizione della funzione main() in cui utilizziamo 'std::string' per dichiarare la variabile 'binaryIs'. La variabile 'binaryIs' memorizza il valore di binario nella stringa. Successivamente, chiediamo all'utente di aggiungere il numero binario nel prompt dell'utente e viene letto tramite il comando “cin”. Successivamente, regoliamo la dimensione dei bit che può essere un numero intero di 64 bit. Quindi, la funzione to_ulong() viene chiamata dalla classe 'bitset' nella variabile 'decimalNumber'. La funzione to_ulong() converte l'insieme di bit in un tipo di dati lunghi senza segno. Infine, utilizziamo il comando “cout” per stampare il valore decimale del valore binario fornito dall'utente.

Il valore binario fornito dall'utente viene ora convertito nel valore decimale:

Conclusione

In conclusione, abbiamo trattato i metodi per convertire un valore binario in un valore decimale. Abbiamo utilizzato il ciclo 'for', il ciclo 'mentre' e gli approcci della classe bitset per la conversione binaria in decimale. Questi approcci trasformano i numeri binari in sistemi decimali che facilitano la lettura e la comprensione.