Ne hai esaminato le varie parti ? SonoOriginariamente inviato da awdre
for (k=1,dec=0;bin;k*=2,bin/=10)
dec+=(bin%10)*k;
per l'inizializzazione : k=1, dec=0 (ovvero, k viene posto uguale a 1 e dec a 0)
per il controllo del termine : bin (ovvero, termina quando bin è uguale a 0)
ad ogni passo : k*=2, bin/=10 (ovvero, raddoppia k e dividi bin per 10)
Infine nel corpo : dec+=(bin%10)*k; (ovvero trova il resto di bin diviso 10, moltiplicalo per k e aggiungi il risultato a dec, che alla fine, sarà il risultato.
In base a questi elementi, sai fare su carta un esempio di come lavora il programma, ad esempio partendo da
bin = 1100
?
Non mi dire che non ci puoi provare ...