我有一个从二进制文件中读取的字节数组。目前我在循环中使用类似的代码(下面)将每3个字节转换为double。目前它可以循环一次到几千次以产生一系列数据。
Dataout =字节数组,FinalData =双数组
FinalData[a] = (double)(DataOut[a + k] << 16 | DataOut[a + k + 1] << 8 | DataOut[a + k + 2]) / 10.0;
我想知道的是,他们有更快捷的方法吗?可能使用LINQ或其他方法将整个字节数组传输到double数组而无需循环。我总是需要移动一定数量的字节(本例中为3)。
非常感谢任何帮助
答案 0 :(得分:0)
如果你可以避免10.0除法,这将是最好的方法。这是整个过程中最慢的操作(到目前为止!)并且它不准确。如果你不关心损失,你可能会在乘以0.1而不是除以10.0时好多了,因为在大多数机器上乘法要快得多。