2010-01-31 10 views
5

Ich schreibe einen Datalog-Parser für eine Robotersteuerung, und was aus dem Datenprotokoll kommt, ist eine Zahl im Bereich von 0 - 65535 (was ist eine 16-Bit-Ganzzahl ohne Vorzeichen, wenn ich mich nicht irre). Ich versuche, dies in eine vorzeichenbehaftete 16-Bit-Ganzzahl zu konvertieren, um sie dem Benutzer anzuzeigen (da dies der tatsächliche Datentyp war, bevor der Logger ihn änderte).Konvertieren eines vorzeichenlosen 16-Bit-Int in ein vorzeichenbehaftetes 16-Bit-Int in C#

Kann mir jemand helfen?

Beispiel:

Was sollten die Werte sein (0, -1, -2, -3, -4)

Was sind die Werte (0, 65535, 65534, 65533, 65532)

Antwort

12

Haben Sie explizit Gießen versucht?

UInt16 x = 65535; 
var y = (Int16)x; // y = -1 
+0

Sie sind ein Genie, danke! –

Verwandte Themen