Konvertieren eines unsigned 16-Bit-int zu einem signierten 16-Bit-int in C #
-
24-09-2019 - |
Frage
Ich schreibe einen datalog Parser für eine Robotersteuerung, und das, was in dem Datenprotokoll kommt eine Zahl im Bereich von 0 - 65535 (das ist ein 16-Bit-Integer ohne Vorzeichen ist, wenn ich mich nicht irre). Ich versuche, das zu einer signierten 16-Bit-Ganzzahl Anzeige für den Benutzer zu konvertieren (da das war der eigentliche Datentyp vor dem Logger es geändert).
Kann jemand geben Sie mir eine Hand?
Beispiel:
Was die Werte sein sollten (0, -1, -2, -3, -4)
Was sind die Werte (0, 65535, 65534, 65533, 65532)
Lösung
Haben Sie explizites Casting versucht?
UInt16 x = 65535;
var y = (Int16)x; // y = -1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow