unr*_*sed 1 c++ bit-manipulation
我想在没有循环的情况下切换n次.
切换3次后的1(位)将为0,依此类推.为了切换1次,我使用bit ^ = 1.我实际上搜索了一些操作公式来这样做.
如果我理解正确,你想要切换一点N时间.
现在,切换bin N次等于切换N%2次,这样:
b ^= (N%2);
Run Code Online (Sandbox Code Playgroud)
模2是相同的,N&1所以你也可以写:
b ^= (N&1);
Run Code Online (Sandbox Code Playgroud)