按位操作符与移位操作符图解

  • A+
所属分类:JAVA


共计 468 个字符,预计需要花费 2 分钟才能阅读完成。

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。巧妙的使用位运算可以大量减少运行开销,优化算法。

按位操作符与移位操作符图解

规则:两个操作数对应位同为1时,结果为1,其余全为0。
按位操作符与移位操作符图解

规则:两个操作数对应位同为0时,结果为0,其余全为1。
按位操作符与移位操作符图解

规则:每个操作数对应位取反即可。
按位操作符与移位操作符图解

规则:两个操作数对应位相同时,结果为0,不同时,结果为1。
按位操作符与移位操作符图解

规则:将一个操作数的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
按位操作符与移位操作符图解

规则:将一个操作数的各二进制位全部右移若干位(右边的二进制位丢弃,正数左补0,负数左补1)。
按位操作符与移位操作符图解

规则:将一个操作数的各二进制位全部右移若干位(右边的二进制位丢弃,右边补0)。
按位操作符与移位操作符图解

判断一个数n的奇偶性:
n & 1 == 1 ? “奇数” : “偶数”;
绝对值:
(a^(a>>31))-(a>>31);
a>>31取得a的符号,若a为正数,a>>31等于0,a^0=a,不变;若a为负数,a>>31等于-1 ,a^-1翻转每一位.

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: