Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Convertire due valori a 16 bit in uno a 32 bit
venerdì 02 maggio 2008 - 10.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
denis.basei
Profilo
| Senior Member
222
messaggi | Data Invio:
ven 2 mag 2008 - 10:45
Salve a tutti.
Mi sto cimentando nella revisione di un protocollo di comunicazione con un plc. Ho un problema con l'interpretazione di certi valori. Per spiegarmi meglio faccio un esempio:
Il valore -150000 mi viene restituito dal plc con due valori con segno a 16 bit, rispettivamene -18928 e -3. Un metodo analogo di restituzione, questa volta senza segno, è con i valori 46608 e 65533.
Naturalmente per il mio programma -150000 è il valore da calcolare, indifferentemente da una delle due coppie di valori. Qualcuno sa aiutarmi a trovare l'algoritmo di calcolo, al limite anche solo a spiegarlo, col quale calcolare -150000?
Grazie.
Denis B. - www.baseiengineering.com
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 6 mag 2008 - 10:43
>Mi sto cimentando nella revisione di un protocollo di comunicazione
>con un plc. Ho un problema con l'interpretazione di certi valori.
>Per spiegarmi meglio faccio un esempio:
>Il valore -150000 mi viene restituito dal plc con due valori
Da dove deriva il -150000 ? Perchè anche con 2 interi a 16 bit non si può arrivare a 150 mila.
>Naturalmente per il mio programma -150000 è il valore da calcolare,
>indifferentemente da una delle due coppie di valori. Qualcuno
>sa aiutarmi a trovare l'algoritmo di calcolo, al limite anche
>solo a spiegarlo, col quale calcolare -150000?
Beh come saprai, forse ho capito male io il tuo problema, ma come sai se un PLC o un qualunque device usa degli Int e sfora dai boundaries di quel tipo dati ricomincia dal lower bound.
Esempio se un int va da -1000 a +1000 e tu imposti come valore 1001 andrà a valorizzare come -1000 chiaramente se tu assegni un valore di 2 o 3 mila non saprai quante volte ha sforato.
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !