位运算符

位运算指的是进行二进制位的运算,常用的位运算符如表所示。

位运算符 说明
~ 取反
& 按位与
| 按位或
^ 按位异或
<< 左移运算符,左移1位相当于乘2
>> 右移运算符,右移1位相当于除2取商


左移运算和右移运算

        //移位
        int c=3;
        System.out.println(c<<1); //6   左移1位相当于乘2
        System.out.println(c<<2); //12  左移2位相当于乘4
        int d=12;
        System.out.println(d>>1); //6   右移1位相当于除2            

雷区:
  1. &和|既是逻辑运算符,也是位运算符。如果两侧操作数都是boolean类型,就作为逻辑运算符。如果两侧的操作数是整数类型,就是位运算符。

  2. 不要把“^”当做数学运算“乘方”,是“位的异或”操作。

原文地址:https://www.cnblogs.com/huaxiansheng/p/14706569.html