Exemple #1
0
        public static double DoubleFromBytes(byte b0, byte b1, byte b2, byte b3, byte b4, byte b5, byte b6, byte b7)
        {
#if FAST_CONVERT
            Double2Bytes d2b = default(Double2Bytes);
            d2b.Byte0 = b0;
            d2b.Byte1 = b1;
            d2b.Byte2 = b2;
            d2b.Byte3 = b3;
            d2b.Byte4 = b4;
            d2b.Byte5 = b5;
            d2b.Byte6 = b6;
            d2b.Byte7 = b7;
            return(d2b.Double);
#else
#if BIG_ENDIAN
            return(BitConverter.ToDouble(new byte[] { b7, b6, b5, b4, b3, b2, b1, b0 }, 0));
#else
            return(BitConverter.ToDouble(new byte[] { b0, b1, b2, b3, b4, b5, b6, b7 }, 0));
#endif
#endif
        }
Exemple #2
0
        public static void DoubleToBytes(double value, out byte b0, out byte b1, out byte b2, out byte b3, out byte b4, out byte b5, out byte b6, out byte b7)
        {
#if FAST_CONVERT
            Double2Bytes d2b = default(Double2Bytes);
            d2b.Double = value;
            b0         = d2b.Byte0;
            b1         = d2b.Byte1;
            b2         = d2b.Byte2;
            b3         = d2b.Byte3;
            b4         = d2b.Byte4;
            b5         = d2b.Byte5;
            b6         = d2b.Byte6;
            b7         = d2b.Byte7;
#else
            byte[] bytes = BitConverter.GetBytes(value);

#if BIG_ENDIAN
            b0 = bytes[7];
            b1 = bytes[6];
            b2 = bytes[5];
            b3 = bytes[4];
            b4 = bytes[3];
            b5 = bytes[2];
            b6 = bytes[1];
            b7 = bytes[0];
#else
            b0 = bytes[0];
            b1 = bytes[1];
            b2 = bytes[2];
            b3 = bytes[3];
            b4 = bytes[4];
            b5 = bytes[5];
            b6 = bytes[6];
            b7 = bytes[7];
#endif
#endif
        }