Ominide 1939 punti

Convertitore Binario Decimale


Oggi realizzeremo in C++ un programmino che converta i numeri in base 2 in base 10. I numeri in base 2, o binari, sono dei numeri scritti con un sistema di numerazione che usa solamente 2 cifre: 0 o 1.
Il sistema di numerazione in base 2 è anch'esso posizionale, il che significa che una cifra, a seconda della posizione che occupa nel numero, ha un valore diverso.
Esempio INPUT / OUTPUT
INPUT 101010
OUTPUT La conversione di 101010 in decimale è 42.
Qui sotto trovi il testo del codice, spiegato passo passo.
Testo del codice
#include<iostream>
#include<cstdlib>

using namespace std;

int main(){
int Nbin; //nominiamo le variabili
int base;
int Ndec;

int T;
int R;
cout <<"Inserisci il numero binario da convertire in decimale"<<endl; //Stampiamo un messaggio che inviti l'utente ad inserire un numero in base 2
cin >> Nbin; //l'input prende il posto della variabile Nbin
base = 1; //base parte da 1
Ndec = 0; //Ndec da 0
T = Nbin; //T prende Nbin
while(Nbin > 0){ //mentre Nbin è maggiore di 0 esegui le seguenti istruzioni
R = Nbin%10; //R prende Nbin modulo 10
Ndec = Ndec + R * base; //Si aggiunge Ndec ad R moltiplicato per la base
base = base * 2; //base viene moltiplicato per 2
Nbin = (Nbin-R)/10; //A Nbin si toglie R e si divide per 10, facendo cadere quindi la sua ultima cifra
}
cout <<"La conversione in decimale di "<<T<<" e' "<<Ndec<<"."<<endl; //Stampa del risultato
system("PAUSE"); //Termine programma
}
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email