C++常见类型及占用内存表

news2024/11/15 9:04:10

GPS生产厂家在定义数据的时候都会有一定的数据类型,例如double、int、float等,我们知道它们在内存中都对应了一定的字节大小,而我在实际使用时涉及到了端序的问题(大端序高字节在前,小端序低字节在前),我用的GPS为小端序,那我抓包的时候就按照小端序抓并且定义一个指定字节大小的小端序类型,对应上原本的double、int、float等类型即可,并且不能使用字节对齐


大端序和小端序

如果有一个变量:unsigned int a=0x12345678;

大端Big-Endian:高字节在前 12 34 56 78
小端Little-Endian:低字节在前 78 56 34 12

在这里插入图片描述

C++常见类型对应的小端序类型

authorFJCBitsBytesrange
little_uint8_tunsigned char810-255
little_int16_tshort162-32768-32767
little_int32_tint/float/long324-2147483648-2147483647
little_uint64_tunsigned long long / double6480-18446744073709551615
little_uint32_tunsigned int /float/long3240-4294967295

字节对齐

字节对齐:编译器默认对结构体进行处理。例如让宽度为2的基本数据类型位于能被2整除的地址上,让宽度为4的基本数据类型位于被4整除的地址上。因此,结构体中内容之间可能被字节填充。但是在抓包时候假设我们设置一个结构体的大小时候固定的,其中每一个成员都按照对应字节大小一个挨着一个从包中对应实际的ASCII含义,那么就不能让系统对结构体进行字节对齐。

注意:
signed:有符号的 unsigned:无符号的
aligned:对齐的 unsigned:非对齐的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis主从同步:如何实现数据一致

Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。读操作:主库、从库都可以接收;写操作:首先到主库执行,然后,主库将写操作同步给从库。和mysql差不多。但是同步…

自动驾驶专题介绍 ———— 毫米波雷达

文章目录介绍工作原理特点性能参数应用厂家介绍 毫米波雷达是工作在毫米波波段探测的雷达,与普通雷达相似,是通过发射无线电信号并接收反射信号来测量物体间的距离。毫米波雷达工作频率为30~300GHz(波长为1 - 10mm),波长介于厘米波和光波之间…

【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)

项目地址:Datamining_project: 数据挖掘实战项目代码 目录 一、背景和挖掘目标 1、问题背景 2、原始数据 3、挖掘目标 二、分析方法与过程 1、初步分析 2、总体流程 第一步:数据抽取 第二步:探索分析 第三步:数据的预处…

为什么负责任的技术始于数据治理

每个组织都处理数据,但并非每个组织都将其数据用作业务资产。但是,随着数据继续呈指数级增长,将数据视为业务资产正在成为竞争优势。 埃森哲的一项研究发现,只有 33% 的公司“足够信任他们的数据,能够有效地使用它并从…

色环电阻的阻值如何识别

这种是色环电阻,其外表有一圈圈不同颜色的色环,现在在一些电器和电源电路中还有使用。下面的两种色环电阻它颜色还不一样,一个蓝色,一个土黄色,其实这个蓝色的属于金属膜色环电阻,外表涂的是一层金属膜&…

Qt新手入门指南 - 如何创建模型/视图(四)

每个UI开发人员都应该了解ModelView编程,本教程的目标是为大家提供一个简单易懂的介绍。Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今&#xff…

AJAX介绍及其应用

1.1 AJAX 简介 AJAX全称为 Asynchronous JavaScript and XML ,就是异步的js和xml。通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势,无刷新获取数据。AJAX不是新的编程语言,而是一种现有的标准组合再一起使用的新方式 应…

scanpy 单细胞分析API接口使用案例

参考:https://zhuanlan.zhihu.com/p/537206999 https://scanpy.readthedocs.io/en/stable/api.html scanpy python包主要分四个模块: 1)read 读写模块、 https://scanpy.readthedocs.io/en/stable/api.html#reading 2)pp Prepr…

springBoot自动装配原理探究springBoot配置类Thymeleaf模板引擎

微服务 微服务是一种架构风格,由于单体架构不利于团队协作完成并且代码量较大,后期维护成本较高,逐渐有了微服务架构。微服务是将一个项目拆分成不同的服务,各个服务之间相互独立互不影响,互相通过轻量级机制通信比如…

(转载)STM32与LAN9252构建EtherCAT从站

目录 (一):项目简介 EtherCAT及项目简述 LAN9252工作模式 整体开发流程 移植要处理的问题 代码层面的工作 开发中使用的工具 (二):SSC的使用 SSC简介和下载 SSC构建协议栈文件和XML &#xff08…

爬虫数据解析-正则表达式

数据解析-正则表达式 正则表达式 正则编写规则简介 字符含义.匹配除换行符以外的任意字符|A|B表示:匹配正则表达式条件A或B^匹配字符串的开始(在集合[]里表示"非")的意思$匹配字符串的结束{n}重复n次{,n}重复小于n次{n,}重复n次或更多次{n,…

2023软件测试金三银四常见的软件测试面试题-【抓包和网络协议篇】

八、抓包与网络协议 8.1 抓包工具怎么用 我原来的公司对于抓包这块,在App的测试用得比较多。我们会使用fiddler抓取数据检查结果,定位问题,测试安全,制造弱网环境; 如:抓取数据通过查看请求数据,请求行&…

经验 // 指标异常了怎么办?

本文参考了数据万花筒的文章,结合我自己工作经验。希望给大家一些帮助。 指标异常排查,是数据分析师的工作重点之一,是各行各业数据分析师都绕不开的话题。 本文试图回答: 1、指标波动的影响因素有哪些? 2、如何快速…

Web3中文|泰勒·斯威夫特演唱会票务闹乌龙,NFT票务急需普及

2022年底,美国艺人Taylor Swift(泰勒斯威夫特)的2023年巡回演唱会Eras Tour门票开始出票。作为当今世界最受欢迎的流行歌手之一,四年多没举办大型巡演无疑积攒了大量的粉丝需求。但是在2022年11月15日开放预售的当天,售…

数据驱动下的物种保护,拯救生命的“特效药”

如果给出这样      一张猎豹的图片      我们能否通过图中有限的信息      判断它的年龄、健康状况      以及所属族群?      如果你是一名研究动物的专家,你可能会从其花纹和斑点中获取一定量的信息,但对于大多数人以及一线的动物保护者来说,它可能只是一…

imx6ull——I2C驱动

I2C基本介绍 SCL 为高电平,SDA 出现下降沿:起始位 SCL 位高电平,SDA出现上升沿:停止位 主机——从机地址(ack)——寄存器地址(ack)——数据(ack) 重点:先是写&#xff0c…

context.Context

context.Context前言一、为什么要context二、context有什么用三、基本数据结构3.1、context包的整体工作机制3.2 基本接口和结构体3.3 API函数3.4 辅助函数3.5 context用法3.6 使用 context 传递数据的争议总结参考资料前言 context是go语言的一个并发包,一个标准库…

平台总线开发(id和设备树匹配)

目录 一、ID匹配之框架代码 二、ID匹配之led驱动​​​​​​​ 三、设备树匹配 四、设备树匹配之led驱动 五、一个编写驱动用的宏 一、ID匹配之框架代码 id匹配(可想象成八字匹配):一个驱动可以对应多个设备 ------优先级次低 注意事项…

河南农信社数字化转型实践方案

农信机构立足地方“三农”,普遍规模较小,高地域集中度在县域和农村地区,容易受到地方农村经济脆弱性的影响。 农信机构由于信贷项目要求多,单笔贷款业务批复的额度相对较小,在信用档案登记环节,造成业务量…

SQL Server主流版本生命周期管理

SQL Server 生命周期 每个版本的 SQL Server 都有至少 10 年的支持期限,其中包括五年的主要支持和五年的扩展支持: “主要支持” 包括功能、性能、可伸缩性和安全更新。“扩展支持” 仅包含安全更新。 “终止支持” (有时也称为生命周期结束…