积累:如何提取 int 数据的高低字节

本文介绍了在服务通信和硬件设备协议中处理字节数据时,如何提取int和unsignedint类型的高低字节,以及不同业务场景下的应用示例,为开发者提供参考和帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言


服务通信、硬件开发,一般都会涉及到字节数据的解析、处理。无论是两个服务间的数据交互协议,还是硬件设备的通信协议,协议中涉及到的参数比较多,并且协议中每个参数占用的字节大小设定会因功能也不尽相同:简单点的参数占用一个字节,复杂点的参数占用两个字节、四个字节,数据长度不定的则长度不做限定等等。

因业务需求的不同,字节方式带来的复杂性也会存在差异,我们这里只简单举例介绍如何提取 int 数据的高低字节。如果大家在开发过程中遇到类似业务时,希望本文的内容能够提供一种参考、一点帮助。


1. 提取 int 高低字节数据

int iVaule = 2745; 					//(二进制格式为0xAB9)

BYTE value_low = iVaule & 0xff;		//0xB9
BYTE value_high = iVaule >> 8;		//0x0A


2. 提取 unsigned int 不同段位字节数据

	unsigned int uValue = 0x12345678;
	
	BYTE value_high = uValue >> 24;					//0x12
	BYTE value_m1 = (uValue & 0xff0000) >> 16;		//0x34
	BYTE value_m2 = (uValue & 0xff00) >> 8;			//0x56
	BYTE value_low = uValue & 0xff;					//0x78
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值