Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [C] Conversione Binario -> Decimale

    Ciao a tutti...
    Questo è il mio primo post
    Sono da poco entrato nel campo della programmazione e precisamente nello studio del mio primo linguaggio .... il C

    Ho bisogno urgentemente di un vostro aiuto!!
    Devo implementare in un programma in C una funzione che mi converta un qualsiasi numero binario inserito dall'utente in un numero decimale. Detto così sembrerebbe facile ma il brutto è che non mi è consentito l’uso della funzione "pow" o di altre funzioni per l’elevamento a potenza.
    Come posso fare???

    Grazie!!

  2. #2
    Se il problema è che non puoi usare pow puoi risolvere in più modi... o ti crei una "tua" pow (bastano poche righe di codice) o (meglio) usi l'operatore di shift a sinistra (<<) per ottenere le potenze di due; ad esempio, per ottenere 2^5 userai 1<<5.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Scusa mi ero dimenticato di dire che il numero inserito dall'utente sono costretto a memorizzarlo in un vettore che non è una stringa di caretteri, quindi, non posso utilizzare su questo vettore le funzioni di manipolazione delle stringhe (strcpy, strcat, ecc.)...
    Aggiungo anche che i valori sono interi unsigned a 32 bit

    Avresti qualche altro consiglio da darmi???

    La funzione che devo implementare è questa:

    unsigned int bin2dec(char binstr[32])

    grazie ancora

  4. #4
    codice:
    unsigned int bin2dec(char binstr[32])
    {
        int i;
        unsigned int val;
        for(i=0;i<32;i++);
            if(binstr[i]=='1') val |= 1<<i;
       return val;
    }
    P.S.: non ho verificato se funziona.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Provo subito e ti faccio sapere

  6. #6
    non vorrei dire cose senza senso... ma Tostigno potrebbe frequentare forse il corso di architettura degli elaboratori nell'università di ferrara vista la domanda e visto che forse ha fatto l'esercitazione di venerdì 20...ma forse mi sbaglio... comunque anch'io sto cercando aiuto...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Guitar_joker87
    non vorrei dire cose senza senso... ma Tostigno potrebbe frequentare forse il corso di architettura degli elaboratori nell'università di ferrara vista la domanda e visto che forse ha fatto l'esercitazione di venerdì 20...ma forse mi sbaglio... comunque anch'io sto cercando aiuto...
    E quindi ...?

  8. #8

    help:)

    ciao raga allora quel frammento d codice va bene????, ps sn anch'io in balia del corso di architettura a ferrara e vi ho trovato x caso..., cmq come lo risolviamo sto problema??

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481

    Re: help:)

    Originariamente inviato da darkchildren
    ciao raga allora quel frammento d codice va bene????
    Provalo ...

  10. #10
    Ecco la versione corretta.
    codice:
    unsigned int bin2dec(char binstr[32])
    {
        int i;
        size_t stl = strlen(binstr);
        unsigned int val = 0;
        for(i=stl;i>=0;i--)
            if(binstr[i]=='1') val |= 1<<(stl-i-1);
       return val;
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.