运输符学习
2月12日学的运算符:与 或 非 取反 以及位运算的<< >> :代码及备注如下
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
-------------------------
A&b = 0000 1100 与 两个都相同时,取相同的数值;不同的时候取0
A|B = 0011 1101 或 相同时,取相同的数值;不相同时取1;
A^B = 0011 0001 非 相同时取0,不相同时取1;
~B = 1111 0010 取反 与被读取数相反;
2*8 = 16; 2*2*2*2
位运算效率极高!!!
<< 左移 *2
>> 右移 /2
以下是二进制数字演示
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
0000 0110 6
0000 0111 7
0000 1000 8
.
0001 0000 16
*/
System.out.println(2<<3);
/*
根据上面备注的左移右移的运输规则,这里的 2<<3 就是0000 0001 后面的这个1向左移动了3个位置:0000 1000
对应上面的二进制图,就是8 然后8*2 = 16;跑完的数值显示也是16.
*/
}
}