Sunday, March 31, 2013

setBit and copyBit


void setBit(unsigned int& V, int bitNo, bool val){
if(val){
V=(1<<(bitNo-1))|V;
}
else{
V=(1<<(bitNo-1))&V;
}
}



void copyBits(unsigned int& V, int bitFrom, int length, unsigned int mask){
int m=1<<(bitFrom-1);
for(int i=(bitFrom);i<bitFrom+length;i++){
setBit(V,i,!!(mask&m));
m=m<<1;
}
}

No comments:

Post a Comment