Question

Je suis en train d'écrire un analyseur datalog pour un contrôleur de robot, et ce qui est à venir dans le journal des données est un nombre dans la gamme de 0 - 65535 (qui est un entier non signé 16 bits si je ne me trompe pas). Je suis en train de convertir en un entier signé 16 bits pour afficher à l'utilisateur (puisque c'était le type de données réel avant l'enregistreur a changé).

Quelqu'un peut-il me donner un coup de main?

Exemple:

Qu'est-ce que les valeurs doivent être (0, -1, -2, -3, -4)

Qu'est-ce que les valeurs sont (0, 65535, 65534, 65533, 65532)

Était-ce utile?

La solution

Avez-vous essayé casting explicite?

UInt16 x = 65535;
var y = (Int16)x; // y = -1
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top