C#でushortを2バイト変数に分割するにはどうすればよいですか?
私は以下を試しました(package.FrameIDはushortです):
これを紙と鉛筆で計算しようとすると、正しい結果が得られます。また、FrameID が 1 バイトより大きい場合 (つまり、2 番目のバイトがゼロでない場合) は機能します。
array[0] = (byte)(0x0000000011111111 & package.FrameID);
array[1] = (byte)(package.FrameID >> 8);
私の場合、package.FrameID は 56 で、array[0] の結果は 56 ではなく 16 です。
どうすればこれを修正できますか?