だから私はバイト配列から12ビット整数を読んでいます。その数値は負になる可能性がありますが、それをC#で使用可能な変数int16/int32に変換する方法がわかりません。ビットシフトやその他のビット単位の操作で何かをする必要があると感じていますが、これまでのところ私は打ちのめされています。誰かが私を正しい方向に向けることができますか?
var x = 0xFFF;
これは -1 として出力する必要がありますが、c# は自然に int32 にキャストし、4095 として出力します。これを int16 または int32 にキャストする必要がある場合、負の値を保持するにはどうすればよいですか。