java位运算

Java 定义了位运算符,应用于byte,short,int,long,char这样的整数类型。

位运算时先转换为二进制补码,再按位运算。

 

& 按位与

| 按位或

^ 按位异或

~ 按位取反

<< 按位左移 高位移出,低位补0。移动位数超过该类型的最大位数,则进行取模,如对int左移34位,实际上只移动了两位。

>> 按位右移(算术右移) 高位补符号位,低位移出

>>> 按位右移(逻辑右移) 高位补0,低位移出

 

 移位运算理清补码和原码之间的关系:

  计算机按照补码形式来存储数字的,故移位运算是对补码进行的。

  负数原码转补码,补码转原码的规则相同:符号位不变,数值位取反+1。正数的原码反码补码相同。

posted @ 2020-10-17 20:34  windlike  阅读(77)  评论(0编辑  收藏  举报