Salve a tutti, oggi ho provato a realizzare un convertitore da binario a decimale e da decimale a binario in questo modo:
codice://Convertire un numero binario in decimale, e da decimale a binario. #include<iostream> #include<math.h> #define N 8 using namespace std; int mypow(int x,int y){ int pot=1, c=0; do{ pot=pot*x; c=c+1; }while(c<y); } int bindec(char str[]){ int somma=0; int l; int pot; for(l=0; str[l]!='\0'; l++) //calcolo la lunghezza della stringa ; int esponente=l-1; for(int i=0; i<l; i++){ pot=pow(2,esponente); somma=somma+(str[i]*pot); esponente--; } return somma; } void decbin(int dec){ char str[8]; int i=0; do{ str[i]=dec%2; i++; dec=dec/2; }while(dec>=0); int l; for(l=0; l!='\0'; l++)//calcolo la lunghezza della stringa ; for(int k=l-1; k>=0; k--) cout<<str[k]; } int main(){ char bin[N]; int decimale; int n; int binario; cout<<"Inserisci il numero binario che vuoi convertire: "; cin>>bin; decimale=bindec(bin); cout<<"Il numero decimale e': "<<decimale<<" "; cout<<"Inserisci il numero decimale che vuoi convertire in binario "; cin>>n; decbin(n); }
Però c'è qualcosa che non torna, potreste aiutarmi ad individuare l'errore?

Rispondi quotando