public int GetDoubleSig(byte[] bytes) { return (int)((((bytes[1] & 0xF) << 16) | (bytes[2] << 8) | bytes[3]) * 4294967296.0 + (bytes[4] >> 7) * 2147483648 + (((bytes[4] & 0x7F) << 24) | (bytes[5] << 16) | (bytes[6] << 8) | bytes[7])); }