mirkoconsoli Inserito: 4 febbraio 2016 Segnala Share Inserito: 4 febbraio 2016 Ciao a tutti, su un CJ1M CPU22 sto cercando di convertire un valore a doppia virgola mobile, sempre positivo, in un valore UINT( o cumunque in una sola word) arrotondato e senza decimali per un'archiviazione in una area di memoria DM. Per adesso ho utilizzato la funzione FIXD e sono arrivato ad un dato a 16 bit come posso proseguire la conversione tenendo presente che il mio valore contenuto nell'area a 64Bit non supererà mai il valore di +10.000 Grazie a tutti Mirko Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 5 febbraio 2016 Segnala Share Inserita: 5 febbraio 2016 Beh, con la FIXD hai un dato a 16bit, cioè una word. Nella fattispecie sarà un INT. Ma se il tuo valore non supererà mai 32767, allora non c'è alcuna differenza tra un INT e un UINT. Pertanto il problema non sussiste. Se poi vuoi proprio il risultato in una variabile dichiarata UINT, basta che fai una MOV del valore INT nel dato UINT. Avrai un warning ma chissenefrega Link al commento Condividi su altri siti More sharing options...
mirkoconsoli Inserita: 7 febbraio 2016 Autore Segnala Share Inserita: 7 febbraio 2016 grazie Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora