Originariamente inviato da awdre
for (k=1,dec=0;bin;k*=2,bin/=10)
dec+=(bin%10)*k;
Ne hai esaminato le varie parti ? Sono

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 ...