structbits{unsignedinta:1;unsignedintb:1;unsignedintc:1;};structbitsmybits;// set/clear a bitmybits.b=1;mybits.c=0;// toggle a bitmybits.a=!mybits.a;mybits.b=~mybits.b;mybits.c^=1;// check a bitif(mybits.c)
参考How do you set, clear and toggle a single bit in C?c/c++中对二进制位的操作包括设置某位为1、清除某位(置为0)、开关某位(toggling a bit)、检查某位是否为1等。这些操作较为常见并且可以作为其他位运算的基础接口,以下罗列几种方法:传统方法设置某位为1number |= 1 x; // 设置