C# 中字节数组到双精度转换

Sid*_*qui 5 .net c#

我有一个三个字节的数组,我想使用 C# 将数组转换为双精度。请指导我。

Jon*_*eet 5

嗯,这取决于您想要转换做什么。

您可以将8 个字节(以正确的格式)转换为doubleusing BitConverter.ToDouble- 但只有三个字节有点奇怪 - 毕竟 adouble通常有 64 位信息。这三个字节如何表示一个数字?基本上是什么格式?当你弄清楚这一点后,剩下的事情可能就很容易了。


Ala*_*lan 3

那么 double 是一个 8 字节的数组,因此如果使用 3 字节,您将无法获得所有可能的值。

做你想做的事:

var myBytes[] = {0,0,0,0,0,1,1,2}; //assume you pad your array with enough zeros to make it 8 bytes.
var myDouble = BitConverter.ToDouble(myBytes,0);
Run Code Online (Sandbox Code Playgroud)