union unum{
unsigned int send;
unsigned char s[4];
}udata;
NSString *str = @“ff055008”;
//将字符串转换成十六进制数
int red = (int)strtoul([str UTF8String],0,16);
//下面使用联合体来进行高低位交换
udata.send = red;
char us = udata.s[0];
udata.s[0] = udata.s[3];
udata.s[3] = us;
us = udata.s[1];
udata.s[1] = udata.s[2];
udata.s[2] = us;
//将转换完的数字重新赋回去
int num = udata.send;
联合体中的参数共占一块内存,可以定义不同的数据类型来对内存进行分割达到效果。
交换十六进制的的高低字节
最新推荐文章于 2025-04-11 16:47:29 发布