Java(21)_ ^、|、&运算符

package com.bowen.dong;
/**
 * https://blog.csdn.net/xiaopihaierletian/article/details/78162863
 * 关于运算符,可以看一下上面博客
 * @author bw
 *
 */
public class Test {
    public static void main(String[] args)  {
      /*
       *  0100
       *  0011
       * 按位或运算符,只要有一个为1,就为1.都为0才为0
       * 作用  常用来对一个数据的某些位置1           
       *  0111 所以输出结果是7
       *     
       *   
       */ 
      
      int n1 = 4|3;
      System.out.println(n1);
      /**
       * 异或运算:
       *  0100
       *  0011
       *  0111
       *  结果还是7  只要参与运算的两个二进制不同,就为1,相就就为0
       *  
       */
      int n2= 4^3;
      System.out.println(n2);
      /**
       * 0100
       * 0011
       * 0000
       * 与运算:都为1才为1,所以打印为0
       */
      int n3=4&3;
      System.out.println(n3);
      /**
       * 0111 右移 00011   所以打印1  补零
       * 0111 左右两位:    0001 1100  十进制 28  16+8+4  28   左移运算符有符号,正数补零,负数补1!!!
       */
      System.out.println("7>>2(右移):"+(7>>2));
      System.out.println("7<<2(左移):"+(7<<2));
    }
}

 

      不要把按位或与异或运算符搞混了!!!

原文地址:https://www.cnblogs.com/sunnybowen/p/9860151.html