Linguaggio C/C++ – Conversione di un numero decimale in binario

Esercitazione di Tecnologie e progettazione di sistemi informatici e di telecomunicazioni.
Si utilizza un ciclo while per popolare un array di N elementi (pari al numero di bit utilizzati per la rappresentazione) e un ciclo for per visualizzare il numero binario.


#include <iostream>
#include <math.h>
using namespace std;

const short Dimensione = 8;

int main()
{
 short Binario[Dimensione];
 unsigned short Numero, Appoggio, ValoreMAX;
 short i;

 for(i=0;i<Dimensione;i++)
	Binario[i] = 0; // inizializzazione del vettore

 cout << endl << "C O N V E R S I O N E   D A   D E C I M A L E   A   B I N A R I O" << endl << endl;


 ValoreMAX = pow(2, (Dimensione - 1)) - 1; // Valore massimo convertibile
 cout << "Digitare un numero decimale non superiore a " << ValoreMAX << ": ";
 cin >> Numero;
 
 Appoggio = Numero;
 i = Dimensione - 1; // il vettore deve essere popolato da destra
 
 while(Appoggio != 0)
 {
 	Binario[i] = Appoggio % 2;
 	Appoggio /= 2;
 	i--; // si scala una posizione all'interno del vettore
 }
 
 cout << endl << endl << "Numero Decimale: " << Numero << "   --->  Numero Binario: "; 
 for(i=0;i<Dimensione;i++)
  	cout << Binario[i];
  
 
 cout << endl << endl;
 system ("PAUSE");
 return 0;
}