位移操作

/**
 * 位移操作
 */
public class BitTest {

    public static void main(String[] args) {
        int number = 1;
        //原始数二进制
        printInfo(number);
        /**
         * 左移一位
         * 无论是正数还是负数,都是低位补0
         */
        number = number << 1;
        printInfo(number);
        /**
         * 右移一位
         * 如果是正数,低位舍弃高位补0
         * 如果是负数,低位舍弃高位补1
         */
        number = number >> 1;
        printInfo(number);
        /**
         * 无符号右移
         * 无论是正数还是负数,都是低位舍弃高位补0
         */
        number = number >>> 1;
        printInfo(number);
    }

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

 

posted @ 2018-04-02 20:34  幺刀  阅读(109)  评论(0编辑  收藏  举报