C interi cambio base?

di il
2 risposte

C interi cambio base?

Ciao a tutti, in C dato un numero:

int a= 15;
è possibile vedere il suo valore corrispondente in altre basi cambiando lo specificatore di formato%

//stampa il valore di a in base ottale
printf("%o",a);

//stampa il valore di a in base sedici
printf("%x",a);

domande:
1) è possibile stampare il suo valore in base 2?

2) io da ignorante so farlo con printf, come posso cambiare invece la base del numero intero? vorrei assegnare il numero cambiato di base ad una variabile, è possibile?

while(!answer)
printf("grazie");

2 Risposte

  • Re: C interi cambio base?

    Per le altre basi devi scrivere del codice.

    La seconda domanda non si capisce.
  • Re: C interi cambio base?

    È possibile, per fare ciò però devi applicarti l'algoritmo di conversione da una base all'altra.
    esempio: dato un numero in decimale, convertilo in binario.
    1) dividi il numero decimale per 2 fino ad arrivare a quoziente 0 e ti segni il resto della divisione (considera che sei nell'insieme dei numeri interi, per cui 1 / 2 risulta 0 con resto 1 e non 0,5).
    2) ottenuti i resti, li leggi al contrario (dal basso verso l'alto) e hai ottenuto il numero binario.

    questo è l'algoritmo "per gli umani", dato che i computer sono stupidi non puoi dirgli "leggi al contrario tutti i resti ottenuti", per cui devi fare un'altra cosa.
Devi accedere o registrarti per scrivere nel forum
2 risposte