У меня здесь проблема, вероятно, я просто ее пропускаю, но не могу понять, почему это происходит ...
Проблема, с которой я столкнулся, заключается в том, что я использую битовый преобразователь, чтобы дать мне Int16 из 2-байтового массива, но по какой-то причине, когда я делаю это - я получаю число, которое я должен получить, с 0xFFFF добавлено в начало номера.
Пример ...
byte[] ourArray = { 0x88, 0xA3, 0x67, 0x3D };
Int16 CreationDate = BitConverter.ToInt16(new byte[] {ourArray[2], ourArray[3]} , 0);
Int16 CreationTime = BitConverter.ToInt16(new byte[] {ourArray[0], ourArray[1]}, 0);
Возвращается, когда CreationDate равно 0x3d67 (правильно), но CreationTime равно 0xffffa388.
Может кто-нибудь узнать, почему это происходит, и как это исправить?