QT 浮点转换学习工具

​ 写程序用到浮点转换,找到网上的在线工具,了解浮点的存储原理。最近正好开始练习QT,想着浮点转换功能简单易上手,就自己手撸一个,纯当练习。

​ 实名吐槽 QT 打包后的 exe 文件实在是太大了,使用打包工具 Enigma Virtual Box 生成的 exe 文件高达50M, 压缩后也要 20M 。实在不好意思拿出手给别人使用。

代码放在Github上,有需要可以参考

完成图

进制转换

浮点数据按照 IEEE-754 标准在内存中存储,单精度4个字节,双精度8个字节。

而浮点和 16、2 进制实际并没有转换, 只是针对内存数据的解释方式不同而已,伪代码如下:

int main ()
{
    union {
        uint32_t wValue;
        float fValue;
    } tUnionData;

    tUnionData.wValue = 0x3dcccccd;
    printf("%f", tUnionData.fValue);
    // 输出 0.100000
}

参考内容

  • https://www.h-schmidt.net/FloatConverter/IEEE754.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章