java基础知识5-二进制

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));
    }
}
原文地址:https://www.cnblogs.com/bersaty/p/3269695.html