Ciao a tutti,
ho un problema con questo programma:
/* Scrivere un programma per la conversione di un numero binario puro
* in intero decimale.
* Il programma chiede in input una stringa di caratteri
*/
Il problema è che deve essere data una stringa di caratteri e poi dopo deve essere convertita in un numeri intero da binario a decimale....
Io ho provato a fare questo:
ho provato con il getchar iniziale...codice:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define MAX 4 char carat[MAX],c; int i=0,pos,bin; main() { pos=strlen(carat)-1; printf("Inserisci una stringa di numeri binari: "); while((c=getchar()) != '\n') { carat[i++]=c; } for(i=0;i<strlen(carat);i++) { if(carat[i]=='1') carat[i]=pow(2,pos)*1; else carat[i]=0; pos--; } for(i=0;i<strlen(carat);i++) { bin=carat[i]+bin; } printf("il numero decimale e': %d",bin); }
ho provato anche a dare una semplice stringa in questo modo senza getchar:
Ma nulla.... non funziona nemmeno questo...codice:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define MAX 4 char carat[MAX]; int i,pos,bin; main() { printf("Inserisci una stringa di numeri binari: "); scanf("%s",carat); for(i=0;i<strlen(carat);i++) { pos=strlen(carat); if(carat[i]==1) carat[i]=(2^pos)*1; else carat[i]=0; pos--; } for(i=0;i<strlen(carat);i++) { bin=carat[i]+bin; } printf("il numero decimale e': %d",bin); }
Cosa devo fare??
Grazie a tutti...

Rispondi quotando