QT c++ 双精度数拆分和组合 Tool

本文描述QT c++的双精度数拆分和合并,即双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合为双精度浮点数。

开发平台:win10+QT6.2.4 MSVC2019 64 bit

在本文的最好列出了代码和可执行文件打包下载链接(可直接使用)。

1.界面如下

2.头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
union DoubleSplit
{
    double doubleValue; // 64位,双精度数
    struct {
        unsigned short  Word0;
        unsigned short  Word1;
        unsigned short  Word2;
        unsigned short  Word3;
    } sDoubleValues;       // 结构体,包含4个16位无符号整数
    unsigned short ShortArray[4];
};

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_bt_DoubleTo4Words_clicked();

    void on_bt_4WordsToDouble_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

3.cpp文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_bt_DoubleTo4Words_clicked()//将双精度浮点数拆为四个16位无符号整数
{
    DoubleSplit ds;
    ds.doubleValue=ui->doubleSpinBox->value();
    ui->spinBox0->setValue((unsigned short)ds.ShortArray[0]);
    ui->spinBox1->setValue((unsigned short)ds.ShortArray[1]);
    ui->spinBox2->setValue((unsigned short)ds.ShortArray[2]);
    ui->spinBox3->setValue((unsigned short)ds.ShortArray[3]);
   ;
}


void Widget::on_bt_4WordsToDouble_clicked()//将四个16位无符号整数合并为双精度浮点数
{
    DoubleSplit ds;
    ds.ShortArray[0]=(unsigned short)ui->spinBox0->value();
    ds.ShortArray[1]=(unsigned short)ui->spinBox1->value();
    ds.ShortArray[2]=(unsigned short)ui->spinBox2->value();
    ds.ShortArray[3]=(unsigned short)ui->spinBox3->value();
    ui->doubleSpinBox->setValue((double)ds.doubleValue);
}

4.代码下载链接如下:

https://download.csdn.net/download/weixin_39926429/88962945

5.可执行文件下载链接如下:

https://download.csdn.net/download/weixin_39926429/88963277

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537826.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国创证券|炒股有哪八不碰?

炒股存在以下八不碰&#xff1a; 1、散户多的个股不碰 散户较多&#xff0c;则阐明市场上的散户在不断地买入该股&#xff0c;主力在不断地卖出该股&#xff0c;筹码逐步从主力的手中流入散户的手中&#xff0c;这会引起市场上的投资者惊惧&#xff0c;大量地抛出手中的股票&…

maven打包把所有依赖的jar copy到一个文件夹

在maven项目中&#xff0c;是使用依赖坐标来引入jar包&#xff0c;在引入jar包的时候&#xff0c;maven也会默默的帮助我们导入这个jar包所依赖的jar包。 但是当我们打包项目使用jar包运行的时候&#xff0c;往往会出现缺少jar的情况&#xff1a; 如果我们一个一个添加缺少的…

Android系统 关于ntp的修改(网络时间同步)

一&#xff0c;现象&#xff1a; 1. NTP介绍 NTP&#xff1a;网络时间协议&#xff0c;英文名称&#xff1a;Network Time Protocol&#xff08;NTP&#xff09;是用来使计算机时间同步化的一种协议&#xff0c;它可以使计算机对其服务器或时钟源&#xff08;如石英钟&#x…

input输入框支持明文暗文切换

input输入框支持明文暗文切换 场景与思路实现 场景与思路 我们通常实现密码框的时候会直接使用 input ,设置它的 type 为 password&#xff0c;如果要实现明文和暗文的切换&#xff0c;实际上就是 type“text” 和 type"password"的切换。 实现 样式上我们可以先找…

Igraph入门指南 5

2、graph_from系列&#xff0c;将其他R数据结构转换成图 2-1 邻接矩阵转图&#xff1a;graph_from_adjacency_matrix 可以接受Matrix包创建的稀疏矩阵作为参数 邻接矩阵中行的顺序被保留&#xff0c;并作为图中顶点的顺序。 本函数几个重要的参数&#xff1a; weighted&am…

EPSON X1E000341003100 FA-238A石英晶体谐振器

EPSON X1E000341003100 FA-238A是一款无源晶振&#xff0c;具有特定的频率和尺寸规格。这款晶振的频率为20MHz&#xff0c;尺寸为3.20 x 2.50mm &#xff0c;这使得它非常适合用于小型化设计中。它的温度范围从-40℃到125℃&#xff0c;并且具有20ppm的频率稳定性&#xff0c;这…

软考高级:软件工程单元测试(驱动模块、被测模块、桩模块)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

FX110网:1月美国零售货币资金环比上升2.61%,嘉盛环比上升1.86%

美国商品期货交易委员会&#xff08;CFTC&#xff09;发布的最新月度报告显示&#xff0c;2024年1月零售货币存款与上月相比上升2.61%。 这份报告涵盖在美国运营的注册零售货币对交易商&#xff08;RFED&#xff09;和经纪自营商。包括嘉信理财&#xff08;CHARLES SCHWAB Futu…

重学SpringBoot3-集成FreeMarker

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成FreeMarker 1. 添加 FreeMarker 依赖2. 配置 FreeMarker 属性&#xff08;可选&#xff09;3. 创建 FreeMarker 模板4. 编写控制器5. 运行应用程序F…

【Java/Image】给指定路径下图片反色并加上当前日期形式的水印

【需求】 从通达信软件截屏下来的K线图&#xff0c;在打印前需要反色&#xff0c;打印后需要手动加上当前日期&#xff0c;这些都可以由程序代替手工完成。 以下是期待的效果。 【关键点】 给图片反色用的是梯度法&#xff0c;这个在网络上已有成型代码&#xff1b; 给图片…

【考研学子必看 ★2024考研国家线及调剂策略(3)】

----------------------------------------------------------------------------------------------------- 考研复试科研背景提升班 教你快速深入了解掌握考研复试面试中的常见问题以及注意事项&#xff0c;系统的教你如何在短期内快速提升自己的专业知识水平和编程以及英语…

C++结合opencv—图像2维直方图初次尝试

// 二维直方图 void QuickDemo::two_histogram_demo(Mat &image) {Mat hsv, hs_hist;cvtColor(image, hsv, COLOR_BGR2HSV);int hbins 30, sbins 32;int hisat_bins[] { hbins,sbins };float h_range[] { 0,180 }; //180/306float s_range[] { 0,256 };// 256/328cons…