转换 - ASCII十六进制在c ++中浮动

Unr*_*ble 2 c++

我有一个字符串,例如"3F800000".

这是float 1.0的十六进制表示.我似乎无法找到在C++中进行此转换的任何方便方法.建议?

eph*_*ent 5

假设32位intfloat,

unsigned int x;
std::stringstream ss;
ss << std::hex << "3F800000";
ss >> x;
return reinterpret_cast<float&>(x);
Run Code Online (Sandbox Code Playgroud)

  • @ ardiyu07:"3F800000"是IEEE-754的"binary32"中的二进制表示"1.0"."3F800000.24"是什么意思? (2认同)