字节~~位

 

 

/*byte to bit*/

void byte2bit(char *Src, int *Dest, int bits)

{

int nPos = 0;

while(bits--)

{

Dest[nPos] = (Src[nPos/8] >> (nPos % 8)) &1 ;

nPos++;

}

}

 

/*bit to byte*/

void bit2byte(int *Src, char *Dest, int bits)

{

int nPos = 0;

memset(Dest, 0x00, bits/16+1);

while(bits--)

{

Dest[nPos/8] |= Src[nPos] << (nPos % 8);

nPos++;

}

}

 

你可能感兴趣的:(byte)