Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C/C++] Passare un valore hex ad una funzione

    Salve a tutti,
    mi ero promesso di dare una mano ad un amico ma adesso siete voi che dovete darla a me... :rollo:

    Digito una lettera sullo schermo, ne ricavo il codice ASCII e lo converto in esadecimale (ho fatto una funzioncina che mi restituisce una stringa con i caratteri hex)

    Questo valore andrebbe passato ad una funzione che lo elabora per i fatti propri... La domanda è: Come posso passare un valore hex ad una funzione?

    Se lo passo come stringa (e non sarebbe una brutta idea) poi la funzione deve "comprendere" ce si tratta di un valore esadecimale e non di una serie di caratteri... Si può risolvere sta cosa? Per stamparlo a video poco male, basta usare il marcatore %X, ma per usarlo (ad esempio sommarlo ad un altro hex) non so come fare!!!

    HEEEEELP!!
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Forse ti stai creando problemi che non esistono ...

    Il valore va passato secondo il tipo (penso un unsigned char) e basta ...

    La rappresentazione (decimale, esadecimale, ottale o altro ...) non e' affatto importante e viene gestita solamente nell'input e nell'output.

    Il prototipo della tua funzione (a parte il valore restituito ...) sara' quindi, semplicemente

    void funzione(unsigned char dato)

  3. #3
    Mah... che ti devo dire...

    Posso anche passarlo come unsigned char, ma nella funzione poi devo considerarlo comunque come hex, e non è solo un problema di stampa a video!

    Credo che che il mio amico (non mi ha spiegato in dettaglio perché non capirei... roba elettronica!) debba fare delle operazioni algebriche sul dato!
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    unsigned char e' un tipo di dato, hex e' una rappresentazione.

    Stai facendo confusione perche' le due cose non sono una in contrasto con l'altra e non sono legate ...

    Le operazioni le puoi fare tranquillamente con il valore passato come unsigned char.

  5. #5
    Beh, però se non mi sbaglio (ma forse mi sbaglio) unsigned char è cmq un tipo di dato che si assimila ad una stringa, e poco ha a che fare con un numero... se prendo 2 unsigned char li posso sommare?
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ti sbagli ... un unsigned char equivale ad un byte e quindi ad un valore compreso tra 0 e 255. Ci puoi fare tutte le operazioni che vuoi.

    Forse i tuoi dubbi dipendono proprio dal fatto che non hai chiare queste nozioni, diciamo, di base ...

    Ma se chiarisci esattamente cosa devi fare, ti do' qualche suggerimento piu' preciso (puoi dettagliare anche il problema elettronico e le operazioni da fare ... )

  7. #7
    Quando i programmi li faccio per me e so quello che devono fare non ho "problemi con le nozioni di base" anche perché mi reputo un programmatore decente...

    Con questo non nego di aver poco chiaro il concetto di unsigned char, visto che in vita mia non l'ho mai usato, poiché i miei programmi giravano benissimo anche senza!

    Appena ho maggiori dettagli sulla parte elettronica mi rifaccio vivo.
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sia chiaro che non volevo essere "offensivo" ... ma il concetto di unsigned char e' realmente di base per un programmatore C (e non solo) ...

    A risentirci ...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.