In questa lezione costruiremo un convertitore decimale binario in C++, al fine di convertire i numeri del sistema decimale in numeri binari.
Algoritmo per costruire un convertitore decimale binario in C++
Per realizzare questo algoritmo occorre rivedere come avviene la conversione da un sistema all'altro.
Ricordiamo dunque che per passare da un sistema decimale ad uno binario occorre dividere per 2, fino ad arrivare a 0, e considerare i resti delle divisioni.
Facciamo dunque un esempio, supponiamo di convertire il numero 38 da decimale a binario:
Fondamenti solidi di programmazione
Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.
⏱️9 ore di corso registrato
🧩Più di 50 algoritmi risolti passo passo
🎯Livello base
💻100% online, fruibile quando vuoi
38:2 = 19 resto 0
19:2 = 9 resto 1
9:2 = 4 resto 1
4:2 = 2 resto 0
2:2 = 1 resto 0
1:2 = 0 resto 1
Leggendo dal basso verso l'alto si ottiene così la sequenza binaria: 100110, così come potete calcolare anche nel convertitore online che ho realizzato con JavaScript.
Dunque ragioniamo su come realizzarlo adesso in C++.
Potremmo utilizzare gli array, ma sono delle strutture che ancora non vi ho presentato, dunque oggi utilizzeremo le stringhe, lasciando la soluzione con l'array per un'altra lezione.
Le variabili che ci servono per realizzare il convertitore decimale binario in C++ sono:
int n - Che rappresenta il numero da convertire.
📚 Consigliato per te
50 Algoritmi per imparare C++
Struttura dati, puntatori e algoritmi classici in C++, passo passo.
string b - Che rappresenta la stringa che conterrà il numero binario, derivante dalla conversione.
Dopo aver dichiarato le variabili, inizializziamo b alla stringa vuota.
Poi costruiamo il ciclo while, impostando come condizione che n sia maggiore di zero.
Quindi finché n è positivo cominciamo a dividerlo per 2, se il resto della divisione è zero allora aggiungiamo 0 all'inizio della stringa b. Altrimenti aggiungiamo 1 sempre all'inizio di b.
Abbiamo così ottenuto il nostro numero in binario.
Ecco dunque il listato in C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
string b = "";
cout << "Inserisci un numero decimale: ";
cin >> n;
if (n == 0) {
b = "0";
} else {
while (n > 0) {
if (n % 2 == 0)
b = "0" + b;
else
b = "1" + b;
n /= 2;
}
}
cout << "Rappresentazione binaria: " << b << endl;
return 0;
}
Questa, come vi dicevo, è solo una possibile realizzazione del convertitore decimale binario in C++, proponete pure il vostro metodo.
Un'email ogni tanto con i nuovi articoli e le guide — niente spam, ti disiscrivi quando vuoi.
🍪 Questo sito usa i cookie
Utilizziamo cookie tecnici necessari al funzionamento e, previo tuo consenso, cookie
analitici e di terze parti per migliorare l'esperienza di navigazione.
Leggi la Cookie Policy e la
Privacy Policy.