Oppure

Loading
16/03/14 12:44
perillitommaso
void Deci_Bin(){
    int A,i;
    int V[MAX];
    printf("Inserisci un numero decimale: ");
    scanf("%d",&A);
    i=0;
    while(A!=0){
            V[i]=A%2;
            A=A/2;
            printf("%d - ",V[i]);
            i=i+1;
            }
            
    return ;
    }

Questa è una procedura che converte un numero decimale inserito in un numero binario attraverso un vettore. l'unico problema è che dovrei capovolgere il vettore nel senso che per esempio, il numero 6 non viene visualizzato così: 110 ma viene visualizzato con 011, qualcuno sa dirmi come posso fare?:hail:
aaa
16/03/14 13:53
ale.gatti96
Non fai il printf nel while, ma dopo fai un for in cui scorri l'array al contrario e stampi i bit
Ultima modifica effettuata da ale.gatti96 16/03/14 13:54
aaa
16/03/14 14:05
perillitommaso
Ci avevo pensato, ma siccome io ho dato una dimensione massima al vettore che è per esempio 30, per la conversione in binario magari uso solo alcune celle del vettore, le prime tipo la cella 0 poi quella 1 poi quella 2 ecc... se stampo al contrario stampo la cella 30, poi quella 29 ecc...
aaa
16/03/14 14:10
ale.gatti96
Allora inizializzi l'array a -1.
Poi nel for stampi solo se è diverso da - 1.
aaa
16/03/14 14:15
perillitommaso
Non ho capito, inizializzo l'indice del vettore a -1 e poi dopo che ho convertito il numero decimale ed ho il numero binario, stampo solo se l'indice non è -1?
aaa
16/03/14 14:30
ale.gatti96
No, inizializzi gli elementi dell'array a - 1.
Cosi dopo il while saranno - 1, 0 oppure 1. Quindi sai quali devi stampare (0 e 1).
aaa
16/03/14 14:40
nessuno
Con il codice che hai mostrato puoi usare i per sapere da dove visualizzare i bit.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
16/03/14 14:41
perillitommaso
scusami ma non ho capito :alert: :-|
aaa