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++ - Convertire da Binario a Decimale
Forum - C/C++ - Convertire da Binario a Decimale

Avatar
DAN (Normal User)
Newbie


Messaggi: 19
Iscritto: 03/06/2008

Segnala al moderatore
Postato alle 23:49
Mercoledì, 11/06/2008
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <string.h>
  5.  
  6. #define MAX 101
  7.  
  8. void inverti(char bin[], int dimvettore);
  9.  
  10. int main()
  11. {
  12.     char bin[MAX] = {0};
  13.     char dec[MAX] = {0};
  14.  
  15.     int lungbin,i,totaleint=0;
  16.  
  17.     printf("Ins. Numero Binario: ");
  18.     scanf("%s",bin);
  19.  
  20.     lungbin=0;
  21.     while (bin[lungbin++] != '\0');
  22.     lungbin--;
  23.  
  24.  
  25.     inverti(bin,lungbin);
  26.  
  27.     for(i=0; i<lungbin;i++)
  28.  
  29.     {
  30.     dec[i] = bin[i] * pow(2,i);
  31.     printf("%d\n",dec[i]);
  32.     //totaleint = totaleint + dec[i];
  33.     }
  34.  
  35.     //printf("%d",totaleint);
  36.  
  37.     return 0;
  38. }
  39.  
  40. void inverti(char bin[], int dimvettore)
  41. {
  42.     int temp,i,nscambi;
  43.  
  44.     nscambi = dimvettore/2;
  45.  
  46.     for(i=0;i<nscambi;i++)
  47.     {
  48.         temp=bin[i];
  49.         bin[i] = bin[dimvettore-i-1];
  50.         bin[dimvettore-i-1] = temp;
  51.         }
  52. }



Qualcuno mi può spiegare cosa non torna, come mai questa roba fa uscire un vettore dec con numero fuori di testa ?

Non posso arrivare a poche ore da un esame ed incartarmi su sta roba...

Ultima modifica effettuata da DAN il 12/06/2008 alle 0:14


#include <stdnoob.h>
PM Quote
Avatar
DAN (Normal User)
Newbie


Messaggi: 19
Iscritto: 03/06/2008

Segnala al moderatore
Postato alle 0:15
Giovedì, 12/06/2008
Ah faccio notare che il forum interpreta male i contatori i dentro le quadre


#include <stdnoob.h>
PM Quote
Avatar
DAN (Normal User)
Newbie


Messaggi: 19
Iscritto: 03/06/2008

Segnala al moderatore
Postato alle 2:03
Giovedì, 12/06/2008
Ok.... come non detto... alla veneranda ora delle 2 del mattino ho avuto l'ispirazione (allegata a tanti insulti all'indirizzo di chi ha inventato la tabella ASCII).

Se può servire a qualcuno lo allego. E' cominciato come una banalità ma quando ho visto certi pasticci di numeri che non tornavano (1110 associava al primo "1", 48 ad esempio, al secondo 49... poi numeri con le centinaia, negativi assurdi...) ho cominciato a dubitare di tutto...

Salvo e rilassato...


DAN ha allegato un file: bin2decW2vett.zip (520 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da DAN il 12/06/2008 alle 2:04


#include <stdnoob.h>
PM Quote