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:
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 con il getchar iniziale...
ho provato anche a dare una semplice stringa in questo modo senza getchar:
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);
}
Ma nulla.... non funziona nemmeno questo...
Cosa devo fare??
Grazie a tutti...