8
이 나에게 이상하다 : 나는 자바에서 실행할 때 나는 C#자바와 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();
을에서 실행할 때
byte[] data = new byte[] { 50, -106, 40, -22, -94, -119, -52, 8 };
ByteBuffer bb = ByteBuffer.wrap(data);
System.out.println(bb.getLong());
결과가 3645145936617393160
입니다
결과는 634032980358633010
이 점에 대해 알려주세요.
감사합니다.
특히 Java는 내부적으로 Big Endian으로 항목을 저장하지만 x86 프로세서는 Little Endian입니다. 아마도 .NET의 설계는이를 반영합니다. – Powerlord
감사합니다. 좋은 소식입니다! –