运输符学习

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.
     */
}

}

posted @ 2025-02-13 08:50  鼎言  阅读(0)  评论(0编辑  收藏  举报