news 2026/10/15 23:26:20

进行四字节的浮点数转换互换(指针方法,而不是共用体方法)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
进行四字节的浮点数转换互换(指针方法,而不是共用体方法)

一、问题出现场景
产品使用的一家可燃气检测传感器,会传递给我一个已经是浮点数的四字节数据,但是我在编写程序时使用实际的浮点数数据

注:浓度值数据类型为浮点型,占4个字节;通讯时 先低(16位)后高(16位),高字节在前,低字节在后。(比如浮点数23.56,在内存中为41 BC 7A E1,通讯时传输顺序:7A E1 41 BC。)

二、进行四字节的浮点数转换
直接上代码:【直接可以得到浮点数】

#include <iostream>

float convertBytesToFloat(unsigned char* com_r) {
float sum0 = 0.0;
unsigned char* p0 = (unsigned char*)&sum0;

*p0 = com_r[1];
*(p0 + 1) = com_r[0];
*(p0 + 2) = com_r[3];
*(p0 + 3) = com_r[2];

return sum0;
}

int main() {
unsigned char com_r[10];
com_r[0] = 0x00;
com_r[1] = 0x00;
com_r[2] = 0x42;
com_r[3] = 0x78;

float result = convertBytesToFloat(com_r);

std::cout << "Result: " << result << std::endl;

return 0;
}
AI写代码
cpp
运行

三、将浮点数换成四字节数据
直接行代码:【注意数据传递顺序进行调整】

#include <iostream>
#include <cstdint>

int main() {
float value = 6.0;
uint32_t* floatPtr = reinterpret_cast<uint32_t*>(&value);
uint32_t floatValue = *floatPtr;

uint8_t bytes[4];
for (int i = 0; i < 4; i++) {
bytes[i] = (floatValue >> (8 * i)) & 0xFF;
}

std::cout << "Byte 1: " << std::hex << static_cast<int>(bytes[0]) << std::endl;
std::cout << "Byte 2: " << std::hex << static_cast<int>(bytes[1]) << std::endl;
std::cout << "Byte 3: " << std::hex << static_cast<int>(bytes[2]) << std::endl;
std::cout << "Byte 4: " << std::hex << static_cast<int>(bytes[3]) << std::endl;

return 0;
}
AI写代码
cpp
运行

关于浮点数的知识,大佬已经讲的很清楚,大家可以参考

IEEE754标准: 一 , 浮点数在内存中的存储方式 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/343033661
————————————————
版权声明:本文为CSDN博主「纸上苍生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kingboj/article/details/135117025

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 12:03:41

QwQ-32B开源镜像+ollama:32B中等规模推理模型的教育行业落地案例

QwQ-32B开源镜像ollama&#xff1a;32B中等规模推理模型的教育行业落地案例 你有没有遇到过这样的场景&#xff1a;一位中学物理老师想为学生定制一套“错题归因分析报告”&#xff0c;但手动梳理每道题背后的知识漏洞、思维卡点和认知偏差&#xff0c;平均要花40分钟&#xf…

作者头像 李华
网站建设 2026/10/15 7:25:05

小白福音!Qwen3-Embedding-0.6B图文部署教程

小白福音&#xff01;Qwen3-Embedding-0.6B图文部署教程 1. 这个模型到底能帮你做什么&#xff1f; 你可能已经听过“嵌入”这个词&#xff0c;但未必清楚它在实际工作中意味着什么。简单说&#xff1a;Qwen3-Embedding-0.6B 是一个能把文字变成数字向量的“翻译官”——不是…

作者头像 李华
网站建设 2026/10/15 21:24:21

用YOLOv9镜像完成首次训练,过程太丝滑

用YOLOv9镜像完成首次训练&#xff0c;过程太丝滑 刚把YOLOv9镜像拉起来&#xff0c;敲下第一行训练命令&#xff0c;看着GPU显存瞬间被填满、loss曲线平稳下降、终端里滚动着每轮的mAP指标——整个过程没有报错、不用改路径、不调版本冲突、不等权重下载。这种“输入命令→看…

作者头像 李华
网站建设 2026/10/14 21:22:47

AD画PCB高速PCIE布线规范与检查清单

以下是对您提供的技术博文《AD画PCB高速PCIe布线规范与检查清单:信号完整性工程实践指南》的 深度润色与专业重构版本 。本次优化严格遵循您的全部要求: ✅ 彻底去除AI痕迹,语言自然、老练、有工程师现场感 ✅ 摒弃所有模板化标题(如“引言”“总结”“展望”),代之以…

作者头像 李华
网站建设 2026/10/15 19:13:52

Qwen3-0.6B真实案例:在1GB内存设备成功运行

Qwen3-0.6B真实案例&#xff1a;在1GB内存设备成功运行 [【免费下载链接】Qwen3-0.6B Qwen3&#xff08;千问3&#xff09;是阿里巴巴集团于2025年4月29日开源的新一代通义千问大语言模型系列&#xff0c;涵盖6款密集模型和2款混合专家&#xff08;MoE&#xff09;架构模型&am…

作者头像 李华
网站建设 2026/10/15 16:52:53

BBDown免费工具零基础B站视频下载完全指南

BBDown免费工具零基础B站视频下载完全指南 【免费下载链接】BBDown Bilibili Downloader. 一款命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown 你是否遇到过想保存B站精彩视频却找不到合适工具的困境&#xff1f;那些珍贵的学习教程、创意…

作者头像 李华