Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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
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

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

PM Quote