Java的位运算符和逻辑运算符

发布时间:2016-12-14 00:00:00 编辑:嘉辉 手机版

  在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算).下面小编准备了关于Java的位运算符和逻辑运算符,提供给大家参考!

  一. 与、或、非、异或运算

  与

  0&&0 =0

  1&&0 =0

  0&&1 =0

  1&&1 =1

  或

  0||0 =0

  1||0 =1

  0||1 =1

  1||1 =1

  非(求反)

  ~1 =0

  ~0 =1

  异或

  真^假=真

  假^真=真

  假^假=假

  真^真=假

  如:11001010 与

  00011011 进行与或以及异或运算,结果分别是:

  00001010 、11011011、11010001

  二、位运算符

  “>> 右移”;“<< 左移”;“>>> 无符号右移”

  注意:右移相当于是除,左移相当于就是乘,左移一位乘以2,左移二位乘以4,依此类推。

  无论正数、负数,它们的右移、左移、无符号右移32位都是其本身,比如 -5<<32=-5、-5>>32=-5、-5>>>32=-5

  如:-5>>3=-1

  -5<<3=-40

  5>>3=0

  5<<3=40

  -5>>>3=536870911

本文已影响869
+1
0