================ Bit Manipulation ================ -------- Examples -------- Java ==== Get --- .. code-block:: java boolean getBit(int num, int i) { return ((num & (1 << i)) != 0); } Set --- .. code-block:: java int setBit(int num, int i) { return num | (1 << i); } Clear ----- .. code-block:: java int clearBit(int num, int i) { int mask = ~(1 << i); return num & mask; } Update ------ .. code-block:: java int updateBit(int num, int i, int v) { int mask = ~(1 << i); return (num & mask) | (v << i); }