Преобразовать значение ushort в двухбайтовые значения в C #
Как разделить ushort на две байтовые переменные в C #?
Я попробовал следующее (package.FrameID это ushort):
Когда я пытаюсь рассчитать это с бумагой и карандашом, я получаю правильный результат. Кроме того, если FrameID больше байта (поэтому второй байт не равен нулю), это работает.
array[0] = (byte)(0x0000000011111111 & package.FrameID);
array[1] = (byte)(package.FrameID >> 8);
В моем случае package.FrameID равен 56, а результат в массиве [0] равен 16 вместо 56.
Как я могу это исправить?