美文网首页技术文
3、小众运算符の大课堂(一)

3、小众运算符の大课堂(一)

作者: 前端好有趣 | 来源:发表于2016-11-15 11:44 被阅读4790次

较为简单の位运算符:

& 位与运算
| 位或运算
^ 位异或运算
~ 位取反运算

举例:

class OperatorDemo {
    public static void main(String[] args) {
    int a = 3;
    int b = 4;
    
    System.out.println(3 & 4);    
    System.out.println(3 | 4);    
    System.out.println(3 ^ 4);    
    System.out.println(~3);       
    }
}

要做位运算,首先要把数据转换为二进制

3的二进制:11
    00000000 00000000 00000000 00000011
4的二进制:100
    00000000 00000000 00000000 00000100

&位与运算:有0则0。
    00000000 00000000 00000000 00000011
   &00000000 00000000 00000000 00000100
    -----------------------------------
    00000000 00000000 00000000 00000000
    结果是:0
    
|位或运算:有1则1。
    00000000 00000000 00000000 00000011
   |00000000 00000000 00000000 00000100
    -----------------------------------
    00000000 00000000 00000000 00000111
    结果是:7
    
^位异或运算:相同则0,不同则1(有点像男女关系)。
    00000000 00000000 00000000 00000011
   &00000000 00000000 00000000 00000100
    -----------------------------------
    00000000 00000000 00000000 00000111
    结果是:7
    特点:一个数据对另一个数据位异或两次,该数本身不变:a^b^a = b;
    
~按位取反运算符:0变1,1变0
    00000000 00000000 00000000 00000011
   ~11111111 11111111 11111111 11111100 (补码)
   
   补码:11111111 11111111 11111111 11111100
   反码:11111111 11111111 11111111 11111011
   原码:10000000 00000000 00000000 00000100
    结果是:-4 

.
.

♨To Be Continue...♨

相关文章

网友评论

    本文标题:3、小众运算符の大课堂(一)

    本文链接:https://www.haomeiwen.com/subject/ojgkpttx.html