У меня есть строка в байтах, представляющая двойное число.В шестнадцатеричном формате это выглядит так:
char buffer[17] = "4053E60C49BA5E35";
В двойном случае правильное значение равно: 21,898625.Мне нужен простой способ конвертировать эту строку в два раза.Единственный способ, который работает только сейчас, это это, но я не уверен, что это лучший способ:
double hexstr2double(const std::string& hexstr)
{
union
{
long long i;
double d;
} value;
try{
value.i = std::stoll(hexstr, nullptr, 16);
}
catch(...){value.i=0;}
return value.d;
}
Спасибо