关于位运算

177 阅读1分钟

十进制快速转换成二进制的方法

    // 几个特殊数字的二进制值:
    1 ==> 1
    2 ==> 10
    4 ==> 100
    8 ==> 1000
    16 ==> 10000
    32 ==> 100000
    64 ==> 1000000

其他数字的二进制值可以通过这几个数字组合相加推算得出。 🌰

    十进制数 ==> 二进制数(十进制推算过程:二进制推算过程)
    3 ==> 11(1+2:1+10)
    5 ==> 101(1+4:1+100)
    6 ==> 110(2+4:10+100)
    6 ==> 110(2+4:10+100)
    7 ==> 111(1+2+4:1+10+100)
    9 ==> 1001(1+8:1+1000)
    10 ==> 1010(2+8:10+1000)

& 按位与

定义:两个运算位都是1才返回1;

1&xx 的规律:xx为偶数返回0,奇数返回1;

根据上面十进制转二进制的一个规律:奇数的二进制最后一位数肯定是1,所以跟1按位与的结果就是1;偶数的二进制最后一位肯定是0,所以跟1按位与的结果是0.

按位或

定义:两个运算位只要有一个是1,就返回1;

1|xx 的规律:xx为偶数时返回两数相加的结果,奇数则直接返回xx

^ 按位异或

定义:两个运算位不同则为1,否则为0;

1^xx 的规律:xx为偶数则返回两数相加的结果,奇数则返回两数相减的结果;