java位运算

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

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

& 按位与

| 按位或

^ 按位异或

~ 按位取反

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

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

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

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

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

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

IT技术爱好者
原文地址:https://www.cnblogs.com/windlike/p/13832444.html