Quote:
Originariamente inviato da Very Hard
Devo implementare in un programma in C una funzione che mi converta un qualsiasi numero binario inserito dall'utente in un numero decimale. Detto così sembrerebbe facile ma il brutto è che non mi è consentito l’uso della funzione "pow" o di altre funzioni per l’elevamento a potenza.
|
Non serve l'elevamento a potenza.
Innanzitutto immagino che l'utente inserisca una sequenza di caratteri '0' e '1'. Alla fine dell'input dovresti quindi avere una stringa composta da questi due caratteri.
Dichiari una variabile di tipo int o long (dipende da cosa ti serve) inizializzata a zero. Per ogni carattere 0/1 che hai nella stringa, devi prima semplicemente shiftare a sinistra il valore numerico (vedi operatore << ), quindi impostare il bit 0 (il meno significativo) a 0/1 in base alla cifra binaria.