位操作的几个函数

来源:互联网 发布:打棒球的好处 知乎 编辑:程序博客网 时间:2024/04/29 02:08

int Handfun(int reg,int state,int position) //将reg的第position位设置为state,
{
  return  state?(reg | (1<<position)):reg & (~(1 << position));
}

 

int judgement(int reg,int position) //返回reg的第position位是0还是1
{
    return (reg & (1 << position))>>position;
}

 

char* bitstream(void *s,int len) //打印s的二进制形式
{
    
char *t,*p;
    
int i,j,k=0; p=(char *)s;
     t
=(char*)calloc(len*8+1,sizeof(char));
    
for(j=0;j<len;j++)
    
for(i=8*sizeof(char);i>0;i--,t[k++]=((p[j]>>i)&1)+'0');
     puts(t);
//打印数组s的二进制形式
     return t;
}