java左移右移和无符号右移

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/shepherd_dirk/article/details/80849154

知识点

java的三种位移运算符:
<<:左移运算符,num << 1,相当于num乘以2
>>:右移运算符,num >> 1,相当于num除以2
>>>:无符号右移,忽略符号位,空位都以0补齐

测试代码:

public class Test {

    public static void main(String[] args) throws Exception{
        int number = 10;
        System.out.println("位移操作↓\t二进制↓\t十进制↓");
        System.out.print("原始数据:\t");
        printInfo(number);
        System.out.print("左移一位:\t");
        printInfo(number << 1);
        System.out.print("右移一位:\t");
        printInfo(number >> 1);
        System.out.print("无符号右移一位:\t");
        printInfo(number >>> 1);
    }

    /**
     * 输出一个int的二进制数和十进制数
     * @param num
     */
    private static void printInfo(int num){
        System.out.println(Integer.toBinaryString(num)+"\t"+num);
    }
}

输出结果

输出结果

猜你喜欢

转载自blog.csdn.net/shepherd_dirk/article/details/80849154