www.pudn.com > bp_cpp.zip > bit.h
#ifndef _PUBLIC_BIT_H
#define _PUBLIC_BIT_H
/*
* public/bit.h
* 2004-05-10 by ShanLanshan
*/
#define bit_place(n, i) do {n |= (1 << i);} while(0)
#define bit_clear(n, i) do {n &= ~(1 << i);} while(0)
#define bit_set(n, i, v) do { \
n = v ? \
n | (1 << i) \
: \
n & ~(1 << i); \
} while(0)
#define bit_get(n, i) (1&&(n & (1 << i)))
#define bit_placed(n, i) (1&&(n & (1 << i)))
#define bit_cleared(n, i) (!(n & (1 << i)))
#endif /* !_PUBLIC_BIT_H */