`
qimo601
  • 浏览: 3449593 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

将有格式的int解析成float

阅读更多

因项目中有一个需求:将采集到所有short int 转换成float型,而且int的后四位是float的小数段,前8位是float的整数段

 

例如采集到一个 qint16 m = 0x1234,我们需要把0x123.4(假设这样写),真正的float值为291.3999

 

 

        QTime t;
	t.start();
	qint16 m = 0x1234;
	qint16 m1;
	qint16 m2;
	float n;
	for(int i = 0; i < 62500000;i++)
	{
		m1 = m >>4;//向右移四位
		m2 = m & 0x000F;//获取最后四位的值
		n = m2*0.1;//将最后四位的整型值转成float

		n = m1 + n;//获得最终结果
	}
	qDebug("Time elapsed: %d ms", t.elapsed());
分享到:
评论

相关推荐

    C# Byte数组转Int32 Short Float(浮点数)

    标题和描述提到的“C# Byte数组转Int32 Short Float(浮点数)”是指将字节数组中的数据转换为整型(Int32)、短整型(Short)以及浮点数(Float)的过程。以下是对这个主题的详细解释: **字节数组基础** 字节数组...

    float、int、unsigned int数据与其在实际内存中表示的相互转换小程序

    例如,从`int`到`float`的转换可能包括将整数值转换为二进制,处理符号位,将指数和尾数分开,然后按照IEEE 754格式重新组合。反之,从`float`到`int`的转换则需要解析浮点数的二进制表示,提取出整数值。 在C++中...

    Keil MDK-ARM各种数据类型占用的字节数 char short int float double

    本文将详细解析标题和描述中提到的各种数据类型在Keil MDK-ARM下的字节数占用情况。 首先,Keil MDK-ARM是一个针对ARM微处理器的嵌入式开发工具包,它包含了一个强大的C/C++编译器。在32位的ARM架构中,数据类型的...

    LongInt Float Double与字节数组的转换.rar

    转换过程一般包括将整数值分解成4个字节,然后逐个存储到字节数组中。反向操作,即从字节数组恢复`LongInt`,则需要按照字节顺序重新组合这4个字节,再解析为整数。 其次,`Float`是单精度浮点数,它在内存中占据4...

    Go语言string,int,int64 ,float之间类型转换方法

    如果字符串不能被解析成整数,将会返回一个错误。 ### 4. string转int64 ```go s := "123" i, err := strconv.ParseInt(s, 10, 64) ``` 其中,第二个参数为基数(通常为10),第三个参数表示期望转换的结果类型大小...

    LitJsonExt 支持 float类型

    LitJsonExt 的出现正是为了填补这一空白,它扩展了 LitJson,添加了对 `float` 类型的完整支持,包括解析 JSON 字符串到 `float` 类型以及将 `float` 类型对象序列化成 JSON 字符串的功能。 在使用 LitJsonExt 时,...

    部分背包问题C++代码

    void Knapsack(int n, float M, float v[], float w[], float x[]); void Sort(int n, float v[], float w[]); ``` - `Knapsack`函数负责计算部分背包问题的解。 - `Sort`函数用于对物品按照单位价值进行排序。...

    16进制数据转float工具

    程序员最需要的16进制数据转换工具。包含16进制与int16、uint16、float等数据类型的互相转换,特别适合嵌入式软件。可用于modbus等通信协议的数据包解析。

    16进制如何转换成float型数据

    在进行串口通信的过程中,经常会遇到需要将从下位机接收到的16进制数据转换为浮点数(float)的情况。以下将详细介绍这一过程的关键步骤和技术细节。 ### 一、16进制数据与浮点数的关系 16进制是一种常用的数制表示...

    Java实现IEE754 Float类型数据

    本文将详细探讨如何使用Java语言来实现IEEE 754标准中的单精度浮点数(Float)的解析过程。 #### IEEE 754标准简介 IEEE 754标准定义了浮点数的二进制格式以及运算规则。对于单精度浮点数来说,它占用32位(4字节...

    4字节16进制数转换为float浮点数的原理及Qt算法实现示例

    在编程中,我们有时需要将这些二进制表示转换为人类更易读的十进制格式,或者反过来,从十进制转换为二进制。这里我们讨论的是4字节(32位)的十六进制数转换为浮点数,即单精度浮点数。 单精度浮点数在内存中由32...

    matlab的smooth()函数c++实现

    bool Smooth(int s, float Z[], int start, int end, float D[], int k) { // ...函数体... } ``` - **参数说明**: - `s`:指定输出到数组 `Z` 的起点。 - `Z[]`:输出的数组。 - `start`:滤波处理的起始位置...

    modbus数据类型解析工具

    3. **int16h**:这里的"h"可能表示“高位”或十六进制,这可能是表示数据的存储格式,即数据以大端或小端模式存储。在大端模式下,最高位(MSB)位于最低地址,反之在小端模式下,最低位(LSB)在最低地址。理解这种...

    IEEE754格式转Float的算法源代码

    1. 解析二进制表示:首先,我们需要将输入的IEEE 754二进制串按上述结构拆分成三部分。 2. 符号转换:将符号位转换为正负号。如果最高位为1,则转换为负数;如果为0,则转换为正数。 3. 指数处理:将指数位的二...

    使用 xls_to_lua.lua 把 xls 解析成 lua table

    解析文件使用 lua 编写,把 *.xls 解析成 lua table,双击 run.bat 文件值行解析,支持多子表解析,键值对 k/v 解析。 例子说明:https://blog.csdn.net/qq_26117171/article/details/127131168 支持解析的数据类型...

    16位转浮点型float,MODBUS 32位转浮点型float 64位转双浮点型double

    在IT领域,数据类型转换是常见的操作,尤其是在通信协议如MODBUS中,为了高效传输和正确解析数据,需要将数值转换成不同的格式。本篇主要介绍16位、32位以及64位数据如何转换为浮点型(float)和双浮点型(double)...

    float-to-hex.zip_float_float linux_float 转hex_hex float

    在Linux操作系统中,将浮点数(float)转换为十六进制(hex)是一项常见的编程任务,特别是在处理底层数据表示或进行数值计算时。本文将详细介绍如何在Linux环境下实现这一转换,并提供源代码示例。 浮点数在计算机...

    float变量在内存当中存储格式.doc

    ### float变量在内存中的存储格式解析 #### 一、引言 在计算机科学领域,`float`类型变量的存储方式一直是编程基础中的一个重要知识点。本文将深入探讨`float`变量在内存中的存储格式,包括其二进制表示、转换方法...

    C#中将STRING转换成INT类型 (3).pdf

    本文将详细解析四种主要的转换方法:强制类型转换(int),int.Parse,int.TryParse,以及Convert.ToInt32,并讨论它们之间的差异和适用场景。 1. **强制类型转换(int)** `(int)变量名` 是一种显式类型转换,通常...

Global site tag (gtag.js) - Google Analytics