JAVA中的位运算符

    科技2022-09-07  109

    【注】位运算符指的是二进制上的运算

    1、左移运算符 <<

    左移一位相当于 乘2

    //1、 2的平方 int a=1<<2; //相当于1*2*2 //2、 2的三次方 int b=1<<3; //相当于1*2*2*2 //3、其他 int c=2<<2; //相当于2*2*2 //4、其他 int d=5<<3; //相当于 5*2*2*2;

    2、右移运算符 >>

    右移一位相当于 除以2

    int a=16>>2; //相当于16/2/2=4;

    3、&(按位与),|(按位或),^(按位亦或)

    // 3的二进制==> 0 1 1 // 4的二进制==> 1 0 0 // 3 & 4 0 0 0 //3 | 4 1 1 1 //3 ^ 4 1 1 1 System.out.println(3 & 4); //等于 0 System.out.println(3 | 4);//等于 7 System.out.println(3 ^ 4);//等于 7

    雷区: 1、& 和 | 既是逻辑运算符也是位运算符,当两侧操作数都是boolean类型时,做为逻辑运算符;当两侧都是整数类型时,作为算数运算符; 2、不要把 ^ 当成数学运算”乘方“,是”位的异或”操作。

    Processed: 0.012, SQL: 9