Oppure

Loading
16/03/14 15:59
TheDarkJuster
questo è facile moltiplichi bin[ i ] per 2 ^ i
Ultima modifica effettuata da TheDarkJuster 16/03/14 16:01
aaa
16/03/14 16:05
perillitommaso
Ma non penso che dovrò utilizzare il vettore perchè non devo leggere un bit alla volta ma tutto insieme come se fosse un numero intero...
aaa
16/03/14 16:33
perillitommaso
Cioè devo tipo leggere un numero intero: 1100 poi dopo di questo devo convertire il numero binario in decimale avendo poi: 12
aaa
16/03/14 19:05
Questa è un'altra domanda. Non andrebbe trattata in questo stesso thread che ha un titolo preciso e tratta un'altra questione.
17/03/14 14:47
perillitommaso
Si hai ragione, comunque ci sono riuscito da solo questa volta. Questa procedura converte un numero binario in un numero decimale.
int Bin_Deci(){
     int bit,i,esponente,espoelevato;
     int V[MAX];
     int deci;
     
     printf("\nDi quanti bit e' composto il numero binario?");
     scanf("%d",&bit);
     while(bit <=0){
             printf("\nErrore devi inserire un numero maggiore di 0\n");
             printf("\nDi quanti bit e' composto il numero binario?");
             scanf("%d",&bit);
             }
     printf("\nInserisci il numero binario.\nUn bit alla volta grazie:\n");
     i=0;
     while(i<bit){
             do{
             scanf("%d",&V[i]);
             }while((V[i]<0)||(V[i]>1));
             i++;
             }
     esponente=bit-1;
     deci=0;
     i=0;
     while(i<bit){
             espoelevato=Potenza2(esponente);
             deci=deci+(V[i]*espoelevato);
             --esponente;
             i++;
             }
     
     return deci;
     }

int Potenza2(int esponente){
    int risultato,C;
    risultato=1;
    C=0;
            while(C<esponente){
            C=C+1;
            risultato=risultato*2;
             }
    return risultato;
    }

che ne pensate? E' comunque funzionate, l'unico difetto dei vettori che a ogni numero bisogna comunque premere invio a differenza delle stringhe
aaa
17/03/14 15:59
TheDarkJuster
gets() esiste da anni ormai...... Perchè non usarlo quando sarebbe piu elegante e comodo?
aaa
17/03/14 16:18
gets() è una funzione sconsigliata perché soggetta a buffer overflow - andrebbe evitata.

E' meglio usare la fgets.

A parte quello, non userei la funzione Potenza2 per calcolare ogni potenza ogni volta ...
Ultima modifica effettuata da 17/03/14 16:20