逻辑运算符: & ,| ,! ,&& ,||
位运算符:
它是对二进制位进行计算。
位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算。
二进制由0和1组成,所以计算的结果要么是0,要么是1.
& (与):两者都是1的时候我就是一,其他都是0
|(或):两者都为0时才为0 ,其他的都是1.
^(异或):两者不同为1,相同为0
~(取反):0变为1,1变为0.
负数的表现形式: 二进制位的最高位为1,那么这个数就是一个负数。
规律: 负数所对应的正数-1 ,取反
负数所对应的正数取反+1
作用:数据进行加密
1.6.1 >> 右移
System.out.println(6>>1); // --->3 6/2 2*1
System.out.println(6>>2); // --->1 6/4 2*2
System.out.println(-6>>1); // -6/2 -->-3
规律: 右移多少位,就用需要移动的数除以2的多少次方。
1.6.2 << 左移
System.out.println(6<<1); // --->12 6*2 2*1
System.out.println(6<<2); // --->24 6*4 2*2
System.out.println(-6<<2);//--->-24
规律: 左移多少位,就用这个数乘以2多少次方。
1.6.3 >>> 无符号右移
System.out.println(6>>>1); //3
System.out.println(6>>>2); //1
System.out.println(-6>>>2); // 1073741822
作用 : 提高运算速率。位运算是执行最快。
原文:http://www.cnblogs.com/houjiie/p/6063008.html