位运算,算术、逻辑运算详解-java篇

作者在 2014-02-08 19:25:21 发布以下内容


/**



 * 功能:



 * 位运算符,原码、反码、补码规则:



 * 1.二进制的最高位是符号位:0表示正数,1表示负数



 * 2.正数的原码、反码、补码都一样



 * 3.负数的反码=它的原码符号位不变,其他位取反



 * 4.负数的补码=它的反码+1



 * 5.0的反码,补码都是0



 * 6.java没有无符号数,换言之,java中的数都是有符号的



 * 7.在计算机运算时候,都是以补码的方式来运算的



 *



 * 位运算规则:



 * 按位与&:两位全为1,结果为1



 * 按位或|:两位有一个为1,结果为1



 * 按位异或^:两位一个为0,一个为1,结果为1



 * 按位取反~1->0,0->1



 *



 * 算术右移:地位溢出,符号位不变,并用符号位补溢出的高位



 * 算术左移:符号位不变,低位补0



 * 逻辑右移:低位溢出,高位补0



 *



 * 作者:徐守威



 */



package com.xushouwei;





public class T10 {





   /**



    * @param args



    */



   public static void main(String[] args) {



      // TODO Auto-generated
method stub



      int a=1>>2;



      int b=-1>>2;



      int c=1<<2;



      int d=-1<<2;



      int e=3>>>2;



      System.out.println("a="+a);



      System.out.println("b="+b);



      System.out.println("c="+c);



      System.out.println("d="+d);



      System.out.println("e="+e);



      System.out.println(~2);



      System.out.println(2&3);



      System.out.println(2|3);



      System.out.println(~-5);



      System.out.println(13&7);



      System.out.println(5|4);



      System.out.println(-3^3);



   }





}





运行结果:



a=0



b=-1



c=4



d=-4



e=0



-3



2



3



4



5



5



-2





默认分类 | 阅读 1374 次
文章评论,共0条
游客请输入验证码
浏览18317次
文章分类
最新评论