Immer Obere und untere byte von einem integer in C# und setzen es als ein char-array zum senden an einen com-port, wie?

In C würde ich dies tun

int Anzahl = 3510;

char oben = Zahl >> 8;

char lower = number && 8;

SendByte(oben);

SendByte(unten);

Wo Obere und untere würden beide = 54

In C# bin ich, dies zu tun:

            int number = Convert.ToInt16("3510");
            byte upper = byte(number >> 8);
            byte lower = byte(number & 8);
            char upperc = Convert.ToChar(upper);
            char lowerc = Convert.ToChar(lower);
            data = "GETDM" + upperc + lowerc;
            comport.Write(data);

Jedoch in der debugger-Nummer = 3510, oben = 13 und die untere = 0
das macht keinen Sinn, wenn ich den code >> 6 upper = 54, das ist absolut seltsam.

Im Grunde will ich nur, um die oberen und unteren byte von 16 bit-Zahl aus und senden Sie es an der com-port nach "GETDM"

Wie kann ich dies tun? Es ist so einfach in C, sondern in C# bin ich völlig ratlos.

InformationsquelleAutor rolls | 2011-03-24
Schreibe einen Kommentar