mirkoconsoli Inserito: 4 febbraio 2016 Segnala 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
Ctec Inserita: 5 febbraio 2016 Segnala 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
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