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)

War es hilfreich?

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
scroll top