2
私はdouble(float/Decimal)の値を持ち、C#のJava ByteBufferで生成されたのと同じバイト配列を取得したいと考えています。 しかし、JavaでByteBuffer.PutDouble、C#でBinaryWriterを使用して生成されるバイト配列は異なります。誰かが2つの実装の詳細の違いを説明してください。C#のByteBuffer.PutDouble相当
ジャワ:
ByteBuffer bytes = ByteBuffer.allocate(8).putDouble(0,1.12346);
バイト[] = {63、-15、-7、-83、-45、115、-106、54}。
C番号:[] = {153、211、101、49、177、249、241、63} ARR
double value = 1.12346;
byte[] arr;
using (MemoryStream stream = new MemoryStream())
{
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(value);
arr = stream.ToArray();
}
}
。