Convertire un unsigned int a 16 bit a un firmato int a 16 bit in C #
-
24-09-2019 - |
Domanda
Sto scrivendo un parser Datalog per un controller del robot, e ciò che è arrivato da registro dati è un numero nella gamma di 0 - 65535 (che è a 16 bit numero intero senza segno, se non mi sbaglio). Sto cercando di convertire in un numero intero a 16 bit con segno alla visualizzazione per l'utente (dato che era il tipo di dati reale prima il registratore cambiato).
Qualcuno può darmi una mano?
Esempio:
Quello che i valori devono essere (0, -1, -2, -3, -4)
Quali sono i valori (0, 65535, 65534, 65533, 65532)
Soluzione
Hai provato cast esplicito?
UInt16 x = 65535;
var y = (Int16)x; // y = -1
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow