Salve a tutti
io ho una stringa esadecimale del tipo 315880 memorizzata in una variabile CString e vorrei convertirla in valore decimale, chi mi può aiutare??
Grazie
Salve a tutti
io ho una stringa esadecimale del tipo 315880 memorizzata in una variabile CString e vorrei convertirla in valore decimale, chi mi può aiutare??
Grazie
codice:int v; ... sscanf(str, "%x", &v);
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ciao Oregon
grazie per la risposta. Ho utilizzato il tuo suggerimento ma ho avuto il seguente problema
allora le mie variabili sono
CString valueVariable
int numericValueConv
con valueVariable="3138000001" (valore esadecimale)
eseguento la tua istruzione ho
numericValueConv=939524097
ma il corrispondente valore decimale non dovrebbe essere 211392921601
Se fai l'esempio con il valore esadecimale 315880 (nel tuo primo post), allora basta una variabile intera a 32 bit (come ti ho detto).
Se cambi i valori in questione e il valore esadecimale è piu' grande di 32 bit, ovviamente avrai problemi.
Devi quindi usare una variabile a 64 bit
Ma anche qui hai un limite ... non potrai gestire valori piu' grandi di 64 bit ...codice:__int64 v; ... sscanf(str, "%I64x", &v);
No MP tecnici (non rispondo nemmeno!), usa il forum.
Fra l'altro questo non era il forum giusto ...
In ogni caso ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ho spostato la discussione.Originariamente inviato da oregon
Fra l'altro questo non era il forum giusto ...
Ciao!
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
La prima conversione è andata bene ora però vorrei convertire il valore 211392921601 in binario .
Grazie
Dovevi aprire un'altra discussione, perche' questa ha un titolo che non ha a che fare con il problema ...
In ogni caso, per il binario devi scrivere qualche riga di programma, perche' non e' possibile operare come per l'esadecimale ...
Puoi operare delle ripetute divisioni per due considerando i vari resti, oppure dei ripetuti shift a destra di un bit.
No MP tecnici (non rispondo nemmeno!), usa il forum.