Buona sera,
ho sviluppato un programmino che, come si legge dal titolo, converte numeri decimali in numeri binari. Il programma funziona e restituisce i valori corretti con due difetti:
1) me li visualizza in ordine inverso (ma a quello ci penserò dopo, e proverò da solo a risolvere tale problema);
2) non mi visualizza la prima cifra del resto: ad esempio io ho provato col numero 122 (il cui valore binario è 01111010 ), ma me lo visualizza in ordine inverso e senza la prima cifra, cioè così: [I] 1011110[I].
Come sempre vorrei arrivare a risolvere problema senza avere la soluzione già bella e pronta: vorrei infatti arrivarci da solo mediante una Vostra delucidazione.
Per tanto Vi posto il programma in questione:
codice:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    const int divisore = 2;
    int resto;
    int ris;
    int n; // numero da convertire
    do
    {        
        cout << "Inserisci un numero positivo \n";
        cin >> n;
    }while (n < 0);
 
    while(n > 0)
    {
        n = n / divisore;
        resto = n % divisore;
        cout << "Il resto parziale e' " << resto << "\n";
        
    }
    system("pause");
    return 0;
}
Grazie e aspetto Vostre notizie.