Преобразование 12-битного целого числа в 16 или 32-битное

Итак, я читаю 12-битное целое число из байтового массива.Это число может быть отрицательным, но я не могу понять, как преобразовать его в полезную переменную int16/int32 в С#. У меня есть ощущение, что мне нужно что-то сделать с битовым сдвигом или другими побитовыми операциями, но я до сих пор вычеркивал. Может ли кто-нибудь указать мне в правильном направлении.

переменная х = 0xFFF;

Это должно быть напечатано как -1, но C# естественным образом приводит к int32 и печатает как 4095. Если это требует приведения к int16 или int32, как мне сохранить отрицательное значение.

6
задан Clarke76 4 June 2012 в 04:18
поделиться