08/09/11 10:27
Liuk
Ciao, ho un programma che prende una stringa in binario e la deve convertire in decimale (devono essere 24 bit).
Qui è dove prendo la stringa:
e questa è la funzione che dovrebbe convertire:
Solo che mi da segmentation fault. Aiuto
Qui è dove prendo la stringa:
int main() { int i, flag=0; char bin[DIM], tmpBin[DIM]; clear(); setColor(1, 0, 32); printf("\n Conversioni tra basi\n"); setColor(1, 0, 1); do { flag = 0; printf("\n Inserisci numero in binario (24bit): "); gets(tmpBin); if(isBinary(tmpBin, strlen(tmpBin)) == 0 || strlen(tmpBin) != 24) flag=1; } while(flag==1); strcpy(tmpBin, bin); printf(" In decimale: %d", binToDec(bin, strlen(bin))); printf("\n In esadecimale: %d", decToHex(binToDec(bin, strlen), strlen(bin))); pEnter(); clear(); return 0; }
e questa è la funzione che dovrebbe convertire:
int binToDec(char bin[], int len) { char convBin[DIM]; int i, j; int ris=0; for(i=0, j=len; i<len; i++, j--) { ris +=(int) (bin[i]-0)*pow(2, j); } }
Solo che mi da segmentation fault. Aiuto
aaa