谁能告诉我是否有将 float 转换为十六进制格式的代码?
例如:float num = 70.482 和十六进制函数应返回 428CF6C9。
如果之前有任何代码已经完成,请链接我。
干杯。
最佳答案
你可以自己简单地写一下:
float x;
const unsigned char * pf = reinterpret_cast<const unsigned char*>(&x);
for (size_t i = 0; i != sizeof(float); ++i)
{
// ith byte is pf[i]
// e.g. printf("0x02X ", pf[i]);
}
事实上,您可以这样做以获得任何(标准布局*)变量的二进制表示。
*) 谢谢,@R。马蒂尼奥·费尔南德斯!
如果您决定在 long double
(或者更确切地说,80 位扩展精度 float )上尝试此操作,请注意它只有 10 个字节,但在 x86 上被填充为 12 或 16/x64,分别。
关于c++ - 将 float 转换为 32 位十六进制 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245817/