bit_operation
Common tasks
boolean getBit( int num, int i )
{
return ((num & (1 << i)) != 0 );
}
int setBit( int num, int i )
{
return num | (1 << i);
}
int clearBit( int num, int i )
{
int mask = ~(1 << i);
return num & mask;
}
// clear all bits from the most significant bit through i (inclusive)
int clearBitsMSBthroughI( int num, int i )
{
int mask = (1 << i) - 1;
return num & mask;
}
// clear all bits from i (inclusive) through 0
int clearBitsIthrough0( int num, int i )
{
int mask = ~(-1 >>> (31 - i));
return num & mask;
}
// set the ith bit to a value v
int updateBit(int num, int i, boolean bitIs1)
{
int value = bitIs1 ? 1 : 0;
int mask = ~(1 << i);
return (num & mask) | (value << i);
}XOR
Bit Mask
Last updated