Java运算符,位运算

注意:位运算符针对整数的补码进行运算,所以运算结果也是补码

&(与运算)

将数据转化为补码形式,然后将0看作false,将1看作true,按位进行与运算,最后将结果转化为十进制来显示

      7  0000 0111

&  11  0000 1011

————————————

     3     0000 0011

注:

偶数 & 任意数字 = 偶数
正数 & 任意数字 = 正数
奇数 & 1 = 1
偶数 & 1 = 0

|(或运算)

将数据转化成补码形式,按位进行或运算,最后将结果转化位十进制

      7  0000 0111

|   11  0000 1011

————————————

   15     0000 1111

 注:

奇数 | 任意数字 = 奇数

负数 | 任意数字 = 负数

^  (异或运算)

将数据转化成补码形式,按位进行异或运算,最后将结果转化位十进制。相同位false,不同位true。

      7  0000 0111

^   11  0000 1011

————————————

    12  0000 1100

注:

i ^ i = 0

j ^ 0 = j

i ^ j ^ j = i

~ (取反运算)

   i =  5

 ~i = -6

5的源码  :0101

5的补码  :0101

取反运算:1010

  反码:1001

  源码:1110  —–>  -6

<< , >> , >>>

 https://www.cnblogs.com/chuijingjing/p/9405598.html

    原文作者:位运算
    原文地址: https://www.cnblogs.com/chuijingjing/p/9417445.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞