Salve, devo fare un programma in C++ che converta da ottale a decimale ma non ci riesco, ormai sto impazzendo. Fino ad ora ho fatto sia decimale binario e viceversa ma questo non riesco proprio a capire come si fa.
Grazie in anticipo
Salve, devo fare un programma in C++ che converta da ottale a decimale ma non ci riesco, ormai sto impazzendo. Fino ad ora ho fatto sia decimale binario e viceversa ma questo non riesco proprio a capire come si fa.
Grazie in anticipo
Dato un numero di n cifre ottali numerando le cifre da 0 a (n-1) partendo da destra, l'equivalente decimale è
render.png
Ovvero n = 24 ottale n = 4*8^0 + 2*8^1 = 4*1 + 2*8 = 4 + 16 = 20
Nota che dato il numero cn c(n-1) ... c0
Puoi riscriverlo in decimale con la formula equivalente c0 + 8*(c1 + 8*(c2 + ....)) che può essere facilmente frasformata in un loop
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Come hai fatto da binario a decimale?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Binario-Decimale :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x, dec, bin;
cout<<"Inserisci un numero binario: ";
cin >> bin;
x=1;
dec=0;
for (x=1,dec=0;bin;x*=2,bin/=10)
dec+=(bin%10)*x;
cout <<"Numero in decimale : " << dec << endl;
system("pause");
return 0;
}
ho risolto
grazie lo stesso
Oregon non volevo dire quello ma che ho fatto qualche modifica al codice e adesso funziona il programma :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x, dec, ott;
cout<<"Inserisci un numero ottale: ";
cin >> ott;
for (x=1,dec=0;ott;x*=8,ott/=10){
dec+=(ott%10)*x;
}
cout <<"Numero in decimale : " << dec << endl;
system("pause");
return 0;
}
Ok ciao
No MP tecnici (non rispondo nemmeno!), usa il forum.