Questo è strano per me: quando corro in JavaJava e C# - array di byte a differenza lungo la conversione
byte[] data = new byte[] { 50, -106, 40, -22, -94, -119, -52, 8 };
ByteBuffer bb = ByteBuffer.wrap(data);
System.out.println(bb.getLong());
risultato è 3645145936617393160
quando corro in C#
//unsigned values (signed&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();
risultato è 634032980358633010
Potete aiutarmi a capire questo?
Grazie!
In particolare, negozi Java cose internamente come Big Endian, mentre i processori x86 sono little endian ... e presumibilmente il design di .NET riflette questo. – Powerlord
Grazie, è grandioso! –