代码比较简单AND,OR,XOR和NOR最终底层通过BITXXX宏来实现。以TL_AND为例
#define TL_AND(x, y) TL_BITAND(TL_BOOL(p), TL_BOOL(q))
TL_BITAND宏会把1~255之间的整数映射成1,0还映射成0
TL_BITAND是实际上就是一组映射宏
#define TL_BITAND_I(x, y) TL_BITAND_ID(TL_BITAND_ ## x ## y)
#define TL_BITAND_ID(res) res
//
#define TL_BITAND_00 0
#define TL_BITAND_01 0
#define TL_BITAND_10 0
#define TL_BITAND_11 1
其它的实现也类似就不再说明。