C语言---使用共用体将double型经纬度存储到无符号数组中

ops/2024/10/19 3:23:10/

1.在上报经纬度时由于数据协议限制需要将double型数据存储到无符号数组中,下边是写了一个简单C程序进行验证;

2.代码示例如下

#include <stdio.h>
typedef union
{float data;unsigned char arr[4];
} my_data;int main()
{my_data test_data = {0};double jingdu = 121.4736522;double weidu = 31.2425864;test_data.data = jingdu;//注意大小端问题for(int i = 3; i >= 0; i--){printf("1.test_data[%d] = %02X\n",i,test_data.arr[i]);}printf("\r\n");test_data.data = weidu;//注意大小端问题for(int i = 3; i >= 0; i--){printf("2.test_data[%d] = %02X\n",i,test_data.arr[i]);}printf("\r\n");/*  Write C code in this online editor and run it. */printf("Hello, World! \n");return 0;
}

3.运行结果

4.下边再提供一种参考别人的写法

gps_position_info.e = 121.4736522;
uint8_t buffer[128];dDwordToBuf(gps_position_info.e,&buffer[i]);
//将一个DWORD的值写入四个连续内存BYTE中
void dDwordToBuf(float inDword, rt_uint8_t * _pBuf)
{*_pBuf++ = *((rt_uint8_t *)(&inDword) +3);*_pBuf++ = *((rt_uint8_t *)(&inDword) +2);*_pBuf++ = *((rt_uint8_t *)(&inDword) +1);*_pBuf   = *((rt_uint8_t *)(&inDword));    
}


http://www.ppmy.cn/ops/38893.html

相关文章

关于SwapBuffers(HDC);的效率问题

最近笔者在尝试使用SwapBuffers(hdc);函数时&#xff0c;遇到了严重的效率问题&#xff0c;通过查阅资料发现了是因为windows中开启垂直同步的原因&#xff0c;由于垂直同步会强制画面的刷新率匹配显示器的刷新率&#xff0c;因此开启垂直同步之后&#xff0c;若画面的刷新率快…

【XR806开发板试用】阻塞式串口发送与接收教程

本文基于wsl2搭建的ubuntu18.04 vscode编辑器 很奇怪啊&#xff0c;找了半天居然没人发串口的教程&#xff0c;于是只能自己试一试了&#xff0c;在此发一个阻塞式的串口发送与接收的教程。并且&#xff0c;感谢.ACE彭洪权大佬在我配置环境遇到几十个报错的时候帮我远程搭建环…

VMware Workstation 17 Player 创建虚拟机教程

本教程是以windows server 2012物理机服务器安装好的VMware Workstation 17 Player为例进行演示&#xff0c;安装VMware Workstation 17 Player大家可以自行网上搜索安装。 1、新建虚拟机 双击安装好的VMvare图标&#xff0c;点击创建虚拟机。 2、选择是否安装系统 本步骤选…

Flutter TolyUI 框架#01 | 响应式布局#使用篇

theme: cyanosis 本文为稀土掘金技术社区首发签约文章&#xff0c;30天内禁止转载&#xff0c;30天后未获授权禁止转载&#xff0c;侵权必究&#xff01; 《Flutter TolyUI 框架》系列前言: TolyUI 是 张风捷特烈 打造的 Fluter 全平台应用开发 UI 框架。具备 全平台、组件化、…

[GXYCTF 2019]Ping Ping Ping(内联执行)、[鹤城杯 2021]EasyP ($_SERVER)

目录 [GXYCTF 2019]Ping Ping Ping 内联执行 [鹤城杯 2021]EasyP [PHP_SELF]、$_SERVER[SCRIPT_NAME] 与 $_SERVER[REQUEST_URI] RCE命令注入可参考&#xff1a; RCE漏洞及其绕过——[SWPUCTF 2021 新生赛]easyrce、caidao、babyrce-CSDN博客 [GXYCTF 2019]Ping Ping Pin…

Java | Leetcode Java题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution {List<Integer> t new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();public List<List<Integer>> subsets(int[] nums) {dfs(0, nums…

C++笔试训练

i和i区别 #define _CRT_SECURE_NO_WARNINGS //i和i的区别 #include <stdio.h> int main(void) {int i 8;printf("%d\n", i);//9printf("%d\n", --i);//8printf("%d\n", i);//8printf("%d\n", i--);//9printf("%d\n"…

Redis 实战之客户端属性

客户端属性 套接字描述符名字标志输入缓冲区命令与命令参数命令的实现函数输出缓冲区身份验证时间总结 客户端状态包含的属性可以分为两类&#xff1a; 一类是比较通用的属性&#xff0c; 这些属性很少与特定功能相关&#xff0c; 无论客户端执行的是什么工作&#xff0c; 它们…