Получение верхнего и нижнего байта целого числа в C # и помещение его в виде массива символов для отправки в com-порт, как?

В CI сделать это

int number = 3510;

верхний символ = число >> 8;

нижний символ = число && 8;

SendByte (верхний);

SendByte (lower);

Где верхнее и нижнее будут оба = 54

В C # я делаю следующее:

  int number = Convert.ToInt16 ("3510");
 верхний байт = байт (число >> 8);
 младший байт = байт (число & 8);
 char upperc = Convert.ToChar (верхний);
 char lowerc = Convert.ToChar (нижний);
 data = "GETDM" + верхний + нижний;
 comport.Write (данные);

Однако в отладчике номер = 3510, верхний = 13 и нижний = 0 это не имеет смысла, если я изменю код на >> 6 upper = 54, что совершенно странно.

В основном я просто хочу получить старший и младший байт из 16-битного числа и отправить его через com-порт после "GETDM"

Как я могу это сделать? В C это так просто, но в C # я полностью сбит с толку.

10
задан rolls 24 March 2011 в 12:54
поделиться