Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Conversione da esadecimale ad ascii

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB, Foto Utentefairyvilje

0
voti

[11] Re: Conversione da esadecimale ad ascii

Messaggioda Foto UtenteShika93 » 21 nov 2015, 12:30

Non c'è davvero un modo più semplice?? :?
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 829
Iscritto il: 30 dic 2013, 21:28

0
voti

[12] Re: Conversione da esadecimale ad ascii

Messaggioda Foto UtenteIlGuru » 21 nov 2015, 14:41

Il valore da convertire è di un solo byte?
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.129 1 10 13
Master
Master
 
Messaggi: 1363
Iscritto il: 31 lug 2015, 23:32

0
voti

[13] Re: Conversione da esadecimale ad ascii

Messaggioda Foto UtenteShika93 » 21 nov 2015, 14:53

Si. E' una costante compresa tra 1 e 31 decimale
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 829
Iscritto il: 30 dic 2013, 21:28

1
voti

[14] Re: Conversione da esadecimale ad ascii

Messaggioda Foto UtenteIlGuru » 21 nov 2015, 15:07

E allora bastano 3 IF per stampare le decine sottraendo dal numero 10, 20 o 30 ed infine stampare il resto.
Se >=30 stampa 3 e togli 30, altrimenti se >=20 stampa 2 e togli 20 ecc...
Alla fine stampa quello che avanza
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.129 1 10 13
Master
Master
 
Messaggi: 1363
Iscritto il: 31 lug 2015, 23:32

1
voti

[15] Re: Conversione da esadecimale ad ascii

Messaggioda Foto UtenteShika93 » 21 nov 2015, 15:13

Ho capito. Grazie mille!
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 829
Iscritto il: 30 dic 2013, 21:28

0
voti

[16] Re: Conversione da esadecimale ad ascii

Messaggioda Foto Utenteluc99a » 2 dic 2015, 20:10

Foto UtenteShika93 hai a disposizione l'operazione resto della divisione? Mi ricordo ad esempio che nell'Assembly a 32 bit x86 l'istruzione div dava il resto in edx e il risultato in ecx. Nel caso avessi a disposizione tale istruzione ti basta prendere il resto della divisione intera del tuo numero per dieci che sarà l'ultima cifra del numero (esempio 12 mod 10 = 2) a questo punto a questo numero aggiungi il valore ASCII di 0 che se non sbaglio è 48 e questo è l'ASCII della prima cifra, a questo punto fai lo stesso sul risultato della divisione precedente (12/10 = 1, divisione intera) finché il risultato della divisione è zero (1 / 10 = 0).

Comunque cercando su Wikipedia mi pare che l'istruzione sia simile a quella dell'Assembly x86.

In questo caso comunque fai prima con i tre if, ma se nel futuro ti servisse per numeri più elevati questa può essere un alternativa
Avatar utente
Foto Utenteluc99a
70 1 3
 
Messaggi: 24
Iscritto il: 30 nov 2015, 17:45

Precedente

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti