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;联合体中的参数共占一块内存,可以定义不同的数据类型来对内存进行分割达到效果。
原文:http://blog.csdn.net/fucheng56/article/details/19997439