黑马程序员技术交流社区

标题: Java的位运算符 [打印本页]

作者: 18895700133    时间: 2016-5-10 22:38
标题: Java的位运算符


Java的位运算符有:&与、|或、^异或、~非、<<算术左移、>>算术右移、>>>逻辑右移


1. &(与)
  全是1-->1
  全是0-->0
  有1有0-->0
    例:000  111  010  101
      000  111  101  101
      ----------------------------
      000  111  000  101


1 int i = 1;  //000000000000000000000000000000012 int j = 2;  //000000000000000000000000000000103 int n = i&j;//000000000000000000000000000000004 System.out.println(n);//0


2. |(或)
  有1-->1
  全0-->0
    例:000  111  010  101
      000  111  101  010
      ----------------------------
      000  111  111  111

int i = 1;  //00000000000000000000000000000001int j = 2;  //00000000000000000000000000000010int n = i|j;//00000000000000000000000000000011Sys.out.println(n);//3

3.  ^(异或)
  全0-->0
  全1-->0
  有1有0-->1
    例:000  111  010  101
      000  111  101  010
      ----------------------------
      000  000  111  111
int i = 1;  //00000000000000000000000000000001int j = 2;  //00000000000000000000000000000010int n = i^j;//00000000000000000000000000000011System.out.println(n);//3

4.  ~(非)
  把0变1
  把1变0
    例:000  111  010  101
      ----------------------------
      111  000  101  010
int i = 1; //00000000000000000000000000000001int j = ~i;//11111111111111111111111111111110System.out.println(j);//-2

5. <<(左移)
  x<<n
  把x向左边平移n位。跑马灯?
    

6. >> (右移)
  x<<n
  把x向右边平移n位。如图:
  

7. >>> (逻辑右移)
  x>>>n
  将x向右平移n位。正负均补0。
  



作者: LexBurner    时间: 2016-5-10 22:40
楼主写这么多很辛苦吧!给你点个赞
作者: zlf1991312    时间: 2016-5-10 23:54
。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2