位运算二进制的一些技巧

(这个得慢慢更,我看见啥更啥的那种)

这个是输出二进制:

for (int j = 0; j < 32; ++j) {
        printf("%d",(x>>(31-j))&1);//把一个数的二进制数全部输出

    }

 取出x最右边那个1:(八皇后二进制代码)

把最左边的1改成0

把左边连续的1改成0:

 

因为左边连续的1有进位,一直进位到0,然后一&就直接全成零了,而之前的数字并不会改变

猜你喜欢

转载自www.cnblogs.com/zhmlzhml/p/13386858.html