低位转化为高位的代码

时间:2021-09-07 06:41:13

该代码实现的功能:

输入一个32位的整数型数据,输出为把低位转化为高位的整数型数据

 

已经在VC上测试验证过。

 

int swap(int inVal)
{
 int out;
 unsigned long sum = 0;
 int tmp,tmp2;
 int bitLen = 8*sizeof(inVal);
 int bitLen2 = 2 * bitLen;

 for(int i=0; i<bitLen; i++)
 {
  tmp = inVal & (1<<i);
  tmp2 = tmp<<(bitLen2-2*i-1);
  sum = sum | tmp2;
 }

 out = (int)(sum>>16);

 return out;