二进制中的与、或、非、异或运算

与运算

【与】运算符号为 & ,运算法则为遇0得0。也就是说只要有0,结果即为0

举例:1001 & 1100

    1 0 0 1
      &
    1 1 0 0
    ————
    1 0 0 0

或运算

【或】运算符号为 | ,就是一个竖线,运算法则为遇1得1。也就是说,只要有1,结果就为1。

举例:1100 | 1010

    1 1 0 0
       |
    1 0 1 0
    ————
    1 1 1 0

非运算

【非】预算符号为 ~,就是一个波浪线,运算法则为按位取反,也就是遇1取0,遇0取1,即 ~1 = 0 , ~0 = 1;

举例:1001 & 1001

    1 0 1 1
        ~
    ————
    0 1 0 0

异或运算

【异或】运算符号为 ^,就是一个乘方符号,运算法则为相同取0,不同取1。异或运算,关键在异上面,异为1,否则为0。

举例:1001 & 1001

    1 0 1 1
      ^
    1 0 0 1
    ————
    0 0 1 0

总结

  平时不怎么在意这些细节,到了笔试和面试的时候却追悔莫及,为了避免这种情况再次发生,特此记下。

你可能感兴趣的:(JAVA基础,与运算,或运算,非运算,异或运算)