qt中的IEEE 754 浮点数转十六进制
时间: 2023-10-13 08:07:07 浏览: 218
IEEE754浮点数与十六进制数转换器
4星 · 用户满意度95%
在Qt中,你可以使用以下代码将IEEE 754浮点数转换为十六进制:
```cpp
QString IEEE754::toList(double value)
{
int sign;
QString S;
double v;
if(value == 0)
{
return "00000000";
}
else if(value > 0)
{
sign = 0;
v = value;
}
else
{
sign = 1;
v = -value;
}
long zhishu = 0;
long weishu = 0;
if(v < 1)
{
while(v < 1)
{
v = v * 2;
zhishu--;
}
}
else
{
while(v >= 2)
{
v = v / 2;
zhishu++;
}
zhishu = zhishu + 127;
v = v - 1;
weishu = v * pow(2,23);
weishu = weishu + (zhishu % 2) * 0x800000;
zhishu = zhishu / 2;
}
sign = sign * 0x80;
S = QString::number(zhishu, 16) + QString::number(weishu, 16);
return S.toUpper();
}
```
这段代码将接受一个浮点数作为参数,并返回一个十六进制字符串表示。
希望这个代码可以帮到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文