Common Bit Manipulation

bool getBit(int num, int shift)
{
 return ( (num & (1 << shift)) != 0);
}
int setBit(int num, int shift)
{
 return ( num | (1 << shift));
}
int clearBit(int num, int shift)
{
 int mask = ~ (1 << shift);
 return num & mask;
}
int clearBitMSBthroughShiftBit(int num, int shift)
{
 int mask = (1 << (shift )) -1;
 return num & mask;
}
int clearBitMSBthroughShift0(int num, int shift)
{
 int mask = ~ ((1 << (shift +1 )) -1);
 return num & mask;
}
int updateBit(int num, int shift, int v) //set i-th bit = v
{
 int mask = ~ (1 << shift);
 return (num & mask) | (v << shift);
}