Say, I have a integer like 10101
, I would like to unset the third bit to get 10001
; if I have 10001
, I will still get 10001
; how can I achieve it?
unset(int i, int j)
int i= 10101 or 10000
int j = 00100
Assuming that you are indexing bits from the right, this should work to unset a particular bit in value
:
int mask = 1 << bitIndex;
value &= ~mask;
You can set the bit using similar code:
value |= mask;
where mask
is as before. (This assumes that bit indexing starts at 0.)