|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2013
Messaggi: 68
|
Conversione Word in Double
Come posso convertire un intero in un double? Sto lavorando in assembly e non mi è permesso usare l'istruzione che lo fa direttamente, posso soltanto utilizzare quella che converte un intero in un floating point a singola precisione (32 bit). Considerate che nell'architettura MIPS (quella che utilizzo) vengono usati due registri adiacenti per memorizzare un double (quindi ad esempio $f20 e $f22).
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2013
Messaggi: 68
|
Se l'intero è piccolo allora posso caricare il registro più basso con 0 e quello più alto con il valore floating point?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Se l'intero è piccolo, puoi usare l'istruzione che converte da intero a FP a singola precisione.
Altrimenti sei costretto a realizzare una routine di conversione da int64 a double. Non è complicata, ma in assembly, e specialmente con l'architettura MIPS (che è abbastanza povera di istruzioni), ti ci vorrà un po'.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2013
Messaggi: 68
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non so come funziona l'architettura MIPS da questo punto di vista.
In genere i registri di un'FPU hanno una dimensione fissa, e consentono di memorizzare single, double, come pure interi. Ciò che accade con altre architetture è che un valore viene caricato secondo uno dei tipi di cui prima, e convertito nel tipo a precisione massima, che in genere è il double (extended per x87). Ma se nell'architettura MIPS esiste un'istruzione per convertire da intero a single, allora può darsi che ciò che ho descritto non valga. Devi vedere un po' come funziona. In ogni caso ti avviso prima che mettere a 0 l'altro registro non funzionerebbe, perché la codifica interna di single e double è diversa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:12.




















