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++ - base binaria...base decimale
Forum - C/C++ - base binaria...base decimale - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:46
Domenica, 01/02/2009
Testo quotato

Postato originariamente da sweetema:

....bhè..ora mi da l'eseguibile(almeno qst!!!!)
però in output non esce il valore in base decimale,ma quello ke inserisco in base binaria..



Ma che vuoi dire?

Mostra un esempio di input e di output ...

PM Quote
Avatar
sweetema (Normal User)
Rookie


Messaggi: 32
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:47
Domenica, 01/02/2009
ANKE SE è UN PO BRUTTINO IL CODICE,PENSO DI AVER RISOLTO IL PROBLEMA
Codice sorgente - presumibilmente C#

  1. #include<iostream.h>
  2. #include<stdlib.h>
  3. #include<cmath>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. int total=0;
  9. int x;
  10.  
  11.  
  12. int main()
  13. {
  14.     cout<<"QUESTO PROGRAMMA CONVERTE I NUMERI DA BASE BINARIA A BASE DECIMALE\n\n\n";
  15.     cout<<"INSERIRE IL NUMERO IN BASE BINARIA DI 5 CIFRE (dal bit 0 al bit 4) INSERENDO GLI SPAZI TRA UN NUMERO E L'ALTRO\n";
  16.  
  17.  
  18.     for(int j=4;j>=0;j--)
  19.     {
  20.         cin>>x;
  21.         x *=(int)pow(2.0,(double)j);
  22.          total+=x;
  23.     }
  24.  
  25.     cout<<"il numero in base decimale è "<<total<<endl;
  26.  
  27.     return 0;
  28. }

CHE NE PENSI?AH,UN ULTIMO FAVORE,POTRESTI SPIEGARMI QUESTO TRATTO DI CODICE?(int)pow(2.0,(double)j)!!!!!!!!!GRAZIE 1000 PER L'AIUTO baci;)

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:55
Domenica, 01/02/2009
E' praticamente uguale a quello che ti avevo suggerito (e che funzionava anche se in modo diverso).

Alcune osservazioni:

- l'include di iostream in C++ deve essere

#include <iostream>

senza il .h

- e' meglio che le variabili siano locali al main; dichiarale quindi dentro e non fuori.

Cosa non capisci della scrittura della pow?

PM Quote
Avatar
sweetema (Normal User)
Rookie


Messaggi: 32
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:00
Domenica, 01/02/2009
OK..grazie xle osservazioni!!!!non capisco perchè x farmi dare l'eseguibile non posso scrivere direttamente x*=pow(2,j) ma devo scrivere x*=(int)pow(2.0,(double)j)......

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:08
Domenica, 01/02/2009
Testo quotato

Postato originariamente da sweetema:

x*=pow(2,j) ma devo scrivere x*=(int)pow(2.0,(double)j)......



Perche' la funzione pow accetta due parametri double e restituisce un double.

Se i tipi dei parametri o il valore restituito sono diversi, allora devi operare i corretti cast.

Ti consiglio di studiare il C/C++ oltre a scrivere del codice. In particolare, studia cosa e', appunto, il

cast

PM Quote
Avatar
sweetema (Normal User)
Rookie


Messaggi: 32
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 11:13
Domenica, 01/02/2009
grazie

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo