Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301297
  • 博文数量: 69
  • 博客积分: 3093
  • 博客等级: 中校
  • 技术积分: 626
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-17 13:48
文章分类

全部博文(69)

文章存档

2011年(27)

2010年(11)

2009年(31)

分类: C/C++

2011-03-18 16:57:26

 //=========字节序颠倒函数==================
void Swap(BYTE * val ,int len)
{
BYTE i=0;
BYTE tmp;
for(i=0;i
{
tmp=val[i];
val[i]=val[len-i-1];
val[len-i-1]=tmp;
}
}
//==========数组变DWORD(四字节)型数据========
DWORD SWAP(BYTE* ptr,BYTE len)
{
    BYTE temp;
BYTE temp1;
DWORD tmp=0;
temp=ptr[len-1]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-1]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<4;

temp=ptr[len-2]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-2]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<4;

temp=ptr[len-3]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-3]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<4;
temp=ptr[len-4]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-4]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<0;

return(tmp);
}

//===============数组变WORD(两字节)型数据========
INT16U SWAP2(BYTE* ptr,BYTE len)
{
BYTE temp;
BYTE temp1;
INT16U tmp=0;
temp=ptr[len-1]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-1]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<4;
temp=ptr[len-2]>>4;
tmp=tmp|temp;
tmp=tmp<<4;
temp=ptr[len-2]<<4;
temp1=temp>>4;
tmp=tmp|temp1;
tmp=tmp<<0;
return(tmp);
}

阅读(1002) | 评论(1) | 转发(0) |
0

上一篇:Type A和Type B区别

下一篇:iPhone外设测试项

给主人留下些什么吧!~~

xwhbin2011-03-18 17:44:36

/*******************************************************************
    函 数:    int ft_a2hex(const char* pInput, int strlen, char* pOutput, int* pOutLen);
    功 能:    字符串转换函数,字符转换成十六进制字符
    参 数:    pInput:字符数组
              strlen:字符串长度
              pOutput:16进制串