将4字节数据二进制模式中001替换为011

来源:互联网 发布:汉文化复兴 知乎 编辑:程序博客网 时间:2024/05/29 13:31
请写出实现下面功能的转换程序,输入一个32—bit整数(4字节),将此整数二进制中的模式001替换为011,将替换后结果作为返回值返回。 
函数原形:long     replace_pattern(long   inputInt);
*/
long replace_pattern(long inputInt)
{
int andmul=7,ormul=3,i=0,lasti=0,step=0,product=1; 
while(i<31)
{
   step=i-lasti;
   lasti=i;
   andmul<<=step;
   ormul<<=step;
   product<<=step;  
   if((inputInt&andmul)==product)
   {
    inputInt|=ormul;
    i+=3;
   } 
   else
    i+=1;
}
return inputInt;
}