4、位运算符 >> ^ ~ & |

  1. & 按位与
    1 & 3的结果为1
    来看看它的怎么运行的:
    1的二进制表示为 0 0 0 0 0 0 1
    3的二进制表示为 0 0 0 0 0 1 1
    根据 & 的规则 得到的结果为 0 0 0 0 0 0 0 1,十进制表示就是1
  2. |按位或
    1 | 3 的结果为3
  3. ^按位异或
    ^运算符跟 | 类似,但有一点不同的是 如果两个操作位都为1的话,结果产生0
  4. ~取反
    ~是对位求反 1变0, 0变1
  5. 左移<<和右移>>
运算符含义
<<左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
>>"有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.

<< 向左移动 而 >> 向右移动,超过的位将丢失,而空出的位则补0
如 0 1 0 0 0 0 1 1(十进制67) 向左移动两位67<<2将变成
0 0 0 0 1 1 0 0 (十进制12)
当然如果你用java代码写,由于是32位,不会溢出,结果是268
向右移动两位67>>2则是
0 0 0 1 0 0 0 0(十进制16)
任何小数 把它 >> 0可以取整
如3.14159 >> 0 = 3;

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页