[javaSE] 位运算符(&|^)

位运算是直接对二进制进行计算

左移 <<

右移 >>

 

先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000

这个二进制左右移动,移除来的那头用0补齐

 

规律:

6<<3意思就是 6乘以23次方

6>>3意思就是6除以23次方

 

& 与运算

| 或运算

^ 异或运算

先把十进制整数转成二进制,两个数上下对应

6&3 意思就是,对应位置一致,都是1就得1,其他的都是0

6|3 意思就是,对应位置一致,只要有1就是1,都是0才得0

6^3 意思就是,对应位置一致,上下相同的得0,不同的得1

 

110

011&与运算

010 =2

 

110

011 |或运算

111 =7

 

110

011^异或

101 =5

 

这些位运算可以用来做加密功能

public class VariableDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(6<<3);//输出48
        System.out.println(6>>3);//输出 0
        System.out.println(6&3);//输出 2
        System.out.println(6|3);//输出 7
        System.out.println(6^3);//输出 5
    }

}

 

posted @ 2016-05-19 10:48  唯一客服系统开发笔记  阅读(287)  评论(0编辑  收藏  举报