我在这里遇到了一个问题,这可能是我忽略的问题,但我不明白为什么会这样......
我遇到的问题是我正在使用位转换器从 2 字节数组中给我一个 Int16,但出于某种原因,每当我这样做时——我得到了我应该得到的数字,并添加了 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。
有人会碰巧知道为什么会发生这种情况,以及纠正这种情况的方法吗?