Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Conversione da decimale e tabella riassuntiva
Forum - C/C++ - Conversione da decimale e tabella riassuntiva

Avatar
vincent_vega (Normal User)
Newbie


Messaggi: 4
Iscritto: 20/02/2009

Segnala al moderatore
Postato alle 19:27
Venerdì, 20/02/2009
Salve a tutti è la prima volta che scrivo in questo forum spero di migliorare molto con il vostro aiuto.

Il problema chiede: "Visualizzate una tabella di equivalenza tra decimali, binari, ottali ed esadecimali".

Dal punto di vista della conversione ne sono venuto a capo sfruttanto l'operatore % ad esempio
decimale a binario:
Codice sorgente - presumibilmente C/C++

  1. if (n == 0) {
  2.     printf ("0");
  3.   } else {
  4.     while (n != 0) {
  5.       bit = n % 2;
  6.       n = n / 2;
  7.       printf ("%d", bit);
  8.     }
  9.   printf ("\n");
  10.   }


per ottale ed esadecimale ho cambiato il modulo di divisione.
Quindi mettendo tutto insieme a mo' di minestrone ho cercato di venire a capo all'esercizio.
Sostanzialmente il problema è la tabella:

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int n,ot,bit,esa;
  5.         printf("Inserisci numer decimale:");
  6.         scanf("%d",&n);
  7.     printf("%s%10s%20s%30s\n","Decimale","Binario","Ottale","Esadecimale");
  8.  
  9. /*Binario*/
  10.         if (n == 0) {
  11.         printf ("0");
  12.         }else{
  13.      while (n != 0) {
  14.         bit = n % 2;
  15.         n = n / 2;
  16.      }
  17.         }
  18. /*Ottale*/
  19.         if (n == 0) {
  20.         printf ("0");
  21.         }else{
  22.      while (n != 0) {
  23.         ot = n % 8;
  24.         n = n / 8;
  25.      }
  26.         }
  27. /*Esadecimale*/
  28.         if (n == 0) {
  29.         printf ("0");
  30.         }else{
  31.      while (n != 0) {
  32.         esa = n % 16;
  33.         n = n / 16;
  34.      }
  35.         }
  36.         printf("%d%10d%20d%30d",n,bit,ot,esa);
  37.         printf("\n");
  38.         return 0;
  39. }


Io l'ho interpretato cosi, evidentemente sbagliato!
Accetto qualunque suggerimento è anche rimprovero :d visto l'errore :d


Ultima modifica effettuata da vincent_vega il 21/02/2009 alle 0:18


La teoria è quando si sa tutto ma non funziona niente.
La pratica è quando funziona tutto ma non si sa il perché.
In ogni caso si finisce sempre a coniugare la teoria con la pratica:
non funziona niente e non si sa il perché.
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 8:29
Sabato, 21/02/2009


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
vincent_vega (Normal User)
Newbie


Messaggi: 4
Iscritto: 20/02/2009

Segnala al moderatore
Postato alle 10:56
Sabato, 21/02/2009
grazie :d


La teoria è quando si sa tutto ma non funziona niente.
La pratica è quando funziona tutto ma non si sa il perché.
In ogni caso si finisce sempre a coniugare la teoria con la pratica:
non funziona niente e non si sa il perché.
PM Quote