title: Java and C# - byte array to long conversion difference
body: <p>This is strange to me: 
  when I run in Java</p>
  
  <pre><code>byte[] data = new byte[] { 50, -106, 40, -22, -94, -119, -52, 8 };
  ByteBuffer bb = ByteBuffer.wrap( data );
  System.out.println( bb.getLong() );
  </code></pre>
  
  <p>result is 3645145936617393160</p>
  
  <p>when I run in C#</p>
  
  <pre><code>//unsigned values (signed&amp;0xff)
  byte[] bytes = new byte[] { 50, 150, 40, 234, 162, 137, 204, 8 };
  long l = BitConverter.ToInt64(bytes, 0);
  System.Console.Write(String.Format("{0}\n", l));
  System.Console.ReadKey();
  </code></pre>
  
  <p>result is 634032980358633010</p>
  
  <p>Can you help me to understand this?<br>
  Thanks!</p>