This is an old revision of the document!
These functions allow you to work with variables as if they were arrays of bits:
bool getbit(int a, int i)
– returns bit a[i]
.int setbit(int a, int i)
– performs a[i] = 1
and returns the result.int clrbit(int a, int i)
– performs a[i] = 0
and returns the result.int tglbit(int a, int i)
– performs a[i] = !a[i]
and returns the result.
void notflag(int flags, int flag)
Bit flags can be applied using flags & SOMEFLAG
. But removing them requires a more complicated expression !(flags & SOMEFLAG)
.
notflag(flags, SOMEFLAG)
unsets SOMEFLAG, shorthand for !(flags & SOMEFLAG)
.