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

2.负数的反码=它的源码符号位不变,其他取反。

3.负数的补码=它的反码+1。

4.0的反码补码都是0.

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

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

 

位运算和移位运算:

>>算数右移:低位溢出,符号位不变,并用符号位补溢出来的最高位。

<<算数左移:符号位不变,低位补0。

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

class Binary 
{
    public static void main(String[] args) 
    {
        int a=1>>2;
        int b=-1>>2;
        int c=1<<2;
        int d=-1<<2;
        System.out.println("1>>2= "+a);
        System.out.println("-1>>2= "+b);
        System.out.println("1<<2= "+c);
        System.out.println("-1<<2= "+d);
        System.out.println("~2= "+(~2));
        System.out.println("2&3= "+(2&3));
        System.out.println("2|3= "+(2|3));
        System.out.println("~-5= "+(~-5));
        System.out.println("13&7= "+(13&7));
        System.out.println("-3^3= "+(-3^3));
        System.out.println("3>>>2= "+(3>>>2));
    }
}

 

相关文章:

  • 2022-02-10
  • 2021-09-24
  • 2021-12-16
  • 2021-12-05
  • 2021-06-14
  • 2022-01-12
  • 2021-04-20
  • 2021-11-20
猜你喜欢
  • 2021-11-24
  • 2021-05-25
  • 2021-09-13
  • 2021-09-07
  • 2022-02-19
相关资源
相似解决方案