double val = 1.1;QByteArray * Rez = new QByteArray();QDataStream stream(Rez,QIODevice::ReadWrite);stream << val;std::cout << std::endl << Rez->size();// = 8 размер уже правильный QByteArray testt(* Rez);double test = *reinterpret_cast<double * const>(testt.mid(0,8).data());std::cout << std::endl << test; //результат НЕ ПРАВИЛЬНЫЙ
QByteArray testt(QByteArray::number(val));//Ключи f e g тож результата не даютdouble test = *reinterpret_cast<double * const>(testt.mid(0,8).data());std::cout << std::endl << test;
не?
double vla;char * px = 0;px = (char*)&val;QByteArray Rez(px);return Rez.mid(0,8).data();
double val = BitConverter::ToDouble(data, 36);
val = 1.51; char * xp = 0; xp = (char*)&val; QByteArray byte(xp,8); std::cout << std::endl << "SIZE:" << byte.size(); double dbl1 = *reinterpret_cast<double * const>(byte.mid(0,8).data()); std::cout << std::endl << "VALUE:" << dbl1; std::cout << std::endl << byte.mid(0,8).data(); return byte.data();
00 00 00 00 00 00 f8 3f
char *px = (char*)&x;