title: BitConverter.ToInt16 Adds 0xFFFF to Number? (C#)
body: <p>I've got a problem here that's probably something that I'm just overlooking, but I can't understand why it's happening...</p>
  
  <p>The problem I'm having is that I'm using the bit converter to give me an Int16 from a 2-byte array, but for some reason whenever I do this -- I get the number I should get, with 0xFFFF added to the beginning of the number.</p>
  
  <p>Example...</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>That will return with "CreationDate" being 0x3d67 (correct), but CreationTime being 0xffffa388.</p>
  
  <p>Would anyone happen to know why this is happening, and a way to correct this?</p>