C#中byte类型转换为double类型

 // Initialize unmanged memory to hold the array.  

           int size = Marshal.SizeOf(bytes[0]) * bytes.Length;  

           IntPtr pnt = Marshal.AllocHGlobal(size);

            try

            {  

               // Copy the array to unmanaged memory.

                Marshal.Copy(bytes, 0, pnt, bytes.Length);

                // Copy the unmanaged array back to another managed array.

                double[] managedArray2 = new double[bytes.Length / 8];

                Marshal.Copy(pnt, managedArray2, 0, bytes.Length / 8);

                return managedArray2;

            }   

          finally   

          {  

               // Free the unmanaged memory.  

               Marshal.FreeHGlobal(pnt);

            }

原文地址:https://www.cnblogs.com/shenchao/p/3549860.html